java安全框架有哪些(java入门基础知识)

前面介绍了SpringBoot使用JWT实现Token验证,其实SpringBoot有完整的安全认证框架:SpringSecurity。接下来我们介绍如何集成Security实现安全验证。 一、Security简介 安全对于企业来说至关重要,必要的安全认证为企业阻挡了外部非正常的访问,保证了企业内部数据的安全。 当前,数据安全问题越来越受到行业内公司的重视。数据泄漏很大一部分原因是非正常权限访问导…

前边讲解了Spring Boot 应用JWT完成Token认证,实际上Spring Boot 有完善的安全验证框架:Spring Security。下面大家详细介绍怎样集成Security 完成身份验证。

一、Security介绍

安全性针对公司而言尤为重要,必需的安全验证为公司阻拦了外界异常的浏览,确保了企业内部信息的安全性。

现阶段,网络信息安全问题愈来愈得到领域内企业的高度重视。数据泄漏非常大一部分因素是异常管理权限浏览造成的,因此应用适宜的安全性框架维护服务企业的安全性越来越十分紧急。在Java行业,Spring Security毫无疑问是最好的选择之一。

Spring Security 是 Spring 大家族中的一个安全工作框架,可以根据 Spring 的公司使用系统软件提供申明式的安全性密钥管理解决方法。它提供了一组可以在Spring软件系统中灵便配备的组件,灵活运用了 Spring的IoC、DI和AOP等特点,为软件系统提供申明式的安全性密钥管理作用,降低了为公司系统软件安全管理撰写很多反复编码的工作中。

二、Spring Boot对Security的适用

尽管,在Spring Boot发生以前,Spring Security已经进步很多年,可是应用并不普遍。安全工作这一行业一直是Shiro的天地,由于相对性于Shiro,在项目中集成Spring Security或是一件繁琐的事儿,因此Spring Security尽管比Shiro强劲,可是却并没有Shiro受大家喜爱。

伴随着Spring Boot的发生,Spring Boot 对Spring Security 提供了自动化技术配备计划方案,可以零配备应用 Spring Security。这促使Spring Security再次容光焕发新的魅力。

Spring Boot 提供了集成 Spring Security 的组件包
spring-boot-starter-security,便捷我们在 Spring Boot 项目中应用 Spring Security开展权限管理。

三、集成Security

在Spring Boot 项目中集成Spring Boot Security 比较简单,只需在项目中提升Spring Boot Security的依靠就可以。下边根据实例演试Spring Boot中基本Security的登陆认证。

1. 加上依靠

Spring Boot 提供了集成 Spring Security 的组件包
spring-boot-starter-security,便捷我们在 Spring Boot 项目中应用 Spring Security。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

上边除开引进Security组件外,由于我们要做Web操作系统的管理权限认证,因此还加上了Web和Thymeleaf组件。

2. 配备登陆账户密码

用户名和密码在application.properties中开展配备。

# security
spring.security.user.name=admin
spring.security.user.password=admin

在application.properties环境变量中提高了系统管理员的账户密码。

3. 加上Controller

建立SecurityController 类,在类中加上访问页面的通道。

@Controller
public class SecurityController {
    @RequestMapping(\"/\")
    public String index() {
        return \"index\";
    }
}

4. 建立前面网页页面

在resources/templates 文件目录下建立网页页面 index.html,这一网页页面便是实际的要提升权限管理的网页页面,仅有登陆了才可以进到此页。

<!DOCTYPE html>
<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:th=\"http://www.thymeleaf.org\">
<body>
<h1>Hello</h1>
<p>我是登陆后才能看的网页页面</p>
</body>
</html>

5. 检测认证

配备成功后,重新启动项目,浏览详细地址:http://localhost:8080/,网页页面会自弹出出一个登陆框,如下图所示。

Security安全认证 | Spring Boot如何集成Security实现安全认证

系统软件自动跳转到Spring Security默认设置的登陆页面,键入以前配备的账户密码就可以登录系统,登陆后的网页页面如下图所示。

Security安全认证 | Spring Boot如何集成Security实现安全认证

根据以上的实例,大家见到Spring Security全自动给全部浏览要求进行了登陆维护,完成了网页页面权限管理。

四、登陆认证

前边演试了在Spring Boot项目中集成Spring Security 完成简洁的登陆认证作用,在具体项目应用全过程中,很有可能有的作用网页页面不用开展登陆认证,而有的作用网页页面仅有开展登陆认证才可以浏览。下边根据详细的实例程序流程演试怎样完成Security的登陆验证。

1. 建立网页页面content.html

先建立网页页面content.html,此页面仅有登陆客户才可查询,不然会自动跳转到登陆页面,登录成功后才可以浏览。实例编码如下所示:

<!DOCTYPE html>
<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:th=\"http://www.thymeleaf.org\">
<body>
<h1>content</h1>
<p>我是登陆后才能看的网页页面</p>
<form method=\"post\" action=\"/logout\">
    <button type=\"submit\">撤出</button>
</form>
</body>
</html>

在上面的实例中,大家见到撤出应用post请求,由于Security撤出要求默认设置只适用post 。

2. 改动index.html 网页页面

改动以前的index.html页面,提升登陆按键。

<p>点一下 <a th:href=\"@{/content}\">这儿</a>进到管理页面</p>

在上面的实例中,index网页页面属于公共性网页页面,无管理权限认证,从index网页页面进到content网页页面时必须登陆认证。

3. 改动Controller控制板

改动以前的SecurityController控制板,提升content网页页面路由地址,实例编码如下所示:

@RequestMapping(\"/\")
public String index() {
    return \"index\";
}
@RequestMapping(\"/content\")
public String content() {
    return \"content\";
}

4. 建立 SecurityConfig 类

创建 Security的环境变量SecurityConfig类,它承继于
WebSecurityConfigurerAdapter,现自定管理权限认证配备。实例编码如下所示:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers(\"/\", \"/home\").permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .permitAll()
            .and()
            .logout()
            .permitAll()       .and()
            .csrf()
            .ignoringAntMatchers(\"/logout\");
    }
}

在上面的示例程序流程中,SecurityConfig类中配备 index.html 可以同时浏览,但 content.html 必须登录后才可以查询,并没有登录的自动跳转到登录网页页面。

  • @EnableWebSecurity:打开 Spring Security 权限控制和验证作用。
  • antMatchers(“/”, “/home”).permitAll():配备不用登录可以浏览的要求。
  • anyRequest().authenticated():表明别的的申请都需要有管理权限验证。
  • formLogin():订制登录信息内容。
  • loginPage(“/login”):自定登录详细地址,若注解掉,则应用默认设置登录网页页面。
  • logout():撤出作用,Spring Security全自动监控器了/logout。
  • ignoringAntMatchers(“/logout”):Spring Security 默认设置开启了同宗要求操纵,在这儿挑选忽视撤出要求的同宗限定。

5. 检测认证

改动进行后重新启动新项目,浏览详细地址http://localhost:8080/能够看见 index 网页页面的具体内容,点击连接自动跳转到content网页页面的时候会自动跳转到登录网页页面,登录取得成功后才会自动跳转到
http://localhost:8080/content,在 content 网页页面点击“撤出”按键,会撤出登录情况,自动跳转到登录网页页面并提醒已经撤出。

Security安全认证 | Spring Boot如何集成Security实现安全认证

登录、退出、要求受到限制网页页面撤出后自动跳转到登录网页页面是较常用的安全管理实例,也是帐户系统软件基本上的安全防范措施。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月12日 上午10:38
下一篇 2022年5月12日 上午10:39

相关推荐

  • 现在实体店做什么生意好,分享4个稳赚不赔的生意

    对于绝大多数的人来说,赚钱就相当于是打工,因为这没有风险,百分百能拿钱,也比较安稳。而打工赚的钱虽然稳定,但是一年下来也就是整个几万块钱,工资高一点也就十几万。要想赚大钱的话,还得做生意。只不过做生意不仅要本钱,还得有头脑,很多人就算是能凑到本钱,也会觉得自己不是做生意的那块料。当然,也确实不是所有人都会做生意,但如果有想法的话,可以尝试接触这4大“摇钱树”生意: 一、瑜伽馆 现代人的生活节奏非常…

    2022年10月11日
    350
  • 百度搜索引擎优化有什么用?你不知道的八大好处

    1.要按照搜索引擎给网站管理员的建站指南行事,不要自作聪明去“引导”搜索引擎抓取网站信息; 2.要始终坚守以用户为导向的网站优化思想,勿过度使用任何伎俩; 3.为网站增加与关键词有关的丰富内容,因为“搜索引擎营销的核心思想是基于网站文字内容的推广”,并牢记原创和高质量网站内容最重要; 4.不要在网页中夹带隐藏文本,尤其是隐藏于不可见的CSS层,时刻记着,网页内容是给用户看的,不是为搜索引擎检索准备…

    2022年8月3日
    650
  • 市场营销学论文怎么写,市场营销论文范文3000字

    市场营销,又称为市场学、市场行销或行销学,MBA、EMBA等经典商管课程均将市场营销作为对管理者进行管理和教育的重要模块包含在内。主要是指营销人员针对市场开展经营活动、销售行为的过程。以下是我们为你整理的市场营销学年论文格式。 市场营销专业毕业论文格式基本要求 一、毕业论文内容构成及装订次序 1.毕业论文封面 2.毕业论文作者声明 3.毕业论文评分表 4.毕业论文开题报告登记表 5.中文摘要、关键…

    2022年5月22日
    630
  • 微信聊天文件怎么恢复,两个方法帮你快速解决

    大家都知道,现在越来越多的小伙伴喜欢使用微信,不管是和好友聊天、分享生活乐趣 还是交易支付,我们已经是越来越离不开微信了。有很多人还会用微信来接收工作、学习上一些比较重要的文件,但是当我们习惯性清理完微信内存以后就会发现那些重要文件都打不开了,这就有点麻烦了。 别担心,今天小编将分享几个非常简单的微信文件找回方法,帮大家轻松解决这样的问题~ 一、手机文件夹找回 1.文件管理器 我们在微信中查看文件…

    2022年9月21日
    680
  • 创维电视怎么样,其质量及口碑介绍

    作为一名精打细算的消费者,当我们进行电视机的选购的时候,大家会考虑什么品牌的电视机呢?下面就为大家推荐一下现在市面上比较受宠的智能电视机品牌吧——创维电视机。相信大家对这个品牌一定不会觉得陌生,那有关这个品牌的电视机的相关细节,小编将为大家好好普及。 创维智能电视质量好吗 创维Q5A系列中面向主流消费者的50英寸电视:50Q5A就率先来到了我们IT168评测室,它从设计到音画配置,再到内容方面都更…

    2022年5月29日
    640
  • 景区推广方案案例分析,景区推广需要做什么

    华侨城推广方式 华侨城的推广以高投入、高回报为特点,以产品、项目、活动为方式,有效组合渠道,既有高投入的中央电视台晚会节目,也有中国旅游报、南方周末等主流媒体的常规报道,还有酒店报价栏上的一般宣传;既有现场活动的推广,也有旅行社方面的推广。 碧峰峡推广方式 碧峰峡开业前后利用区域内的主流媒体和户外广告、宣传单集中轰炸主要客源市场,造成轰动效应;在宣传内容上从景区表象特征上升到一定高度推广,引起政府…

    2022年5月19日
    680
  • 静音机箱推荐(散热效果最好的静音机箱)

    虽然现在笔记本电脑已经很普及了,但台式电脑的DIY市场仍然非常活跃,尤其是重度游戏玩家,他们是不能容忍笔记本玩游戏的那种“憋屈”体验的。 不过自己组装电脑并不是一件容易的事,除了要考虑当下的性能,还要考虑到以后的升级换代或是增加水冷设备等综合因素,而承载这一切的电脑机箱就显得尤为重要了。 今天我们评测的这款机箱应该算是“简约系”中非常有代表性的一款,重点是价格便宜,拓展性强。 评测产品:安钛克P1…

    2022年10月26日
    840
  • 农民工返乡创业项目及贷款政策,农民返乡创业会面临哪些问题

    近日,国家统计局陕西调查总队在子长、紫阳、扶风等9个国家农民工返乡创业试点县,就农民工返乡创业进行了专题调查。结果显示,近三年农民工返乡创业人数逐年增加,30%的农民工有返乡创业意愿,但仍存在融资难、创业成本高、营商环境待优化、创业能力待提升等需要进一步研究解决的问题。 据陕西省劳务交流指导中心测算,2016年全省农村劳动力转移总量保持在700万人左右,有返乡创业意愿的农村劳动力的比例约30%左右…

    2022年5月18日
    820
  • 播放器什么好用,十款千元以内最强音质播放器推荐

    索尼A15的蓝牙与NFC功能非常好用,笔者尝试了与MDR-1ABT蓝牙耳机连接,只要将播放器与耳机贴在一起选择确定即可。另外A15的蓝牙并不只是用来连接耳机与音箱,还可以用来传输音乐、图片、视频等文件。 主观听感部分,笔者主要用A15搭配了索尼MDR-1ABT耳机、森海塞尔IE80与vivoXE800耳塞来试听。 索尼A15比较注重声音的立体感,先不说它的音质好坏,首先听上去空间比较强,音乐也显得…

    2022年9月22日
    1000
  • 穷人创业好项目有哪些,适合穷人的3个创业项目

    雷军曾说过“站在风口上,猪都能够飞起来”,无数知名的企业家能有而今成就,都与他们当年所抓住的“风口”有很大关系。 比如恒大创始人许家印,他曾抓住了房地产领域的这一风口,现在已拥有千亿之多的身家;腾讯创始人马化腾则曾抓住了社交领域的这一风口,身家同样不菲;而阿里创始人马云曾经抓住了电商领域的这一风口,不仅方便了人们的购物,也使人们传统的购物方式发生改变,在“双11”一天的时间内,天猫就达到了2684…

    2022年7月11日
    700

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信