您现在的位置是:首页 > 网络趣梗网络趣梗
java安全权限框架哪个好(java十大框架)
2022-08-15 06:36:19网络趣梗0人已围观
简介 java安全权限框架哪个好(java十大框架),新营销网红网本栏目通过数据整理汇集了java安全权限框架哪个好(java十大框架)相关信息,下面一起看看
java安全权限框架哪个好(java十大框架),新营销网红网本栏目通过数据整理汇集了java安全权限框架哪个好(java十大框架)相关信息,下面一起看看。
前面介绍过,Spring Boot使用JWT来实现令牌验证。事实上,Spring Boot有一个完整的安全认证框架:Spring Security。接下来介绍如何集成安全性实现安全验证。
1.安全简介安全对于企业来说非常重要。必要的安全认证阻断了企业外部的异常访问,保证了企业内部数据的安全。
目前,数据安全问题越来越受到业内公司的重视。数据泄露很大一部分是由非正常的权限访问引起的,因此使用合适的安全框架来保护企业服务的安全是非常迫切的。在Java领域,Spring Security无疑是最好的选择之一。
Spring Security是Spring家族中的安全管理框架,可以为基于Spring的企业应用系统提供声明式的安全访问控制解决方案。它提供了一套可在Spring应用系统中灵活配置的组件,充分利用Spring的IoC、DI、AOP等特性,为应用系统提供声明式安全访问控制功能,减少了企业系统安全控制编写大量重复代码的工作。
二。Spring Boot对安全的支持尽管在Spring Boot出现之前,Spring Security已经发展了很多年,但它并没有被广泛使用。安全管理领域一直是Shiro的天下。与Shiro相比,将Spring Security集成到项目中比较麻烦,所以Spring Security虽然比Shiro强,但不如Shiro普及。
随着Spring Boot的出现,Spring Boot为Spring Security提供了自动配置方案,可以零配置使用。这让春安焕发了青春。
spring Boot提供了spring-boot-starter-security,一个集成了Spring安全的组件包,方便我们在Spring Boot项目中使用Spring安全进行权限控制。
三。集成安全性在Spring Boot项目中集成Spring Boot安全性非常简单,只需在项目中添加Spring Boot安全性的依赖项。以下示例演示了Spring Boot基本安全性的登录验证。
1.添加依赖关系
spring Boot提供了集成了Spring安全的组件包spring-boot-starter-security,方便我们在Spring Boot项目中使用Spring安全。
Dependency groupId org . spring framework . boot/groupId artifact id spring-boot-starter-web/artifact Id/dependency Dependency groupId org . spring framework . boot/groupId artifact id spring-boot-starter-百里叶/artifact id/Dependency Dependency groupId org.springframework.boot/groupid工件id spring-boot-starter-Security/工件id/Dependency除了介绍安全组件之外,还添加了Web和百里叶组件,因为我们必须验证Web系统的权限。
2.配置登录用户名和密码。
用户名和密码在application.properties中配置.
# security spring . security . user . name=admin spring . security . user . password=admin管理员的用户名和密码被添加到application.properties配置文件中。
3.添加控制器
创建一个SecurityController类,并在该类中添加一个页面入口。
@ controller public class security controller { @ request mapping(/)public String index(){ return index ;}}4.创建前端页面
在资源/模板目录中创建一个页面index.html。该页面是需要权限控制的特定页面。只有登录才能进入这个页面。
!doctype html html xmlns= 3358 www.w3.org/1999/XHTML xmlns 3360 th= 3358 www . thyme leaf . org body h1 hello/h1p我只能在登录/p /body /html 5后才能读取页面。测试验证
配置完成后重启项目,访问地址:http://localhost33608080/,页面会自动弹出一个登录框,如下图所示。
系统自动跳转到Spring 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@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected 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 页面单击“退出”按钮,会退出登录状态,跳转到登录页面并提示已经退出。
登录、退出、请求受限页面退出后跳转到登录页面是常用的安全控制案例,也是账户系统基本的安全保障。
相关文章
粤语歌曲网(经典粤语歌曲汇总)
北京奥特莱斯(来北京必逛的12个商场)
豪杰超级解霸(还记得豪杰超级解霸吗?)
龚自珍的资料(清代诗人龚自珍一生功绩简介)
象牙塔是什么意思(“象牙塔”里怎么了?)
水色风信子(水培风信子容易养)
婧字怎么读
虞姬是哪里人(古代著名美人虞姬到底是哪里人?)
公办三本院校(我们还有哪些“三本”?)
电子酒柜(酒柜最全选购指南)
德州景点(德州市景区景点62个)
玉兰油官方网(OLAY发布高端臻粹系列)
更多java安全权限框架哪个好(java十大框架)相关信息请关注本文章,本文仅仅做为展示!
Tags: 网络趣事
很赞哦! ()
相关文章
随机图文
留言与评论 (共有 条评论) |