内容简介:学习 Spring Boot(七):集成 Apache Shiro 安全框架
Authentication 和 Authorization
Authentication 认证,你是谁???
Authorization 授权,你能做什么???
Apache Shiro
Apache Shiro 是一个简单易用的 Java 安全框架,提供了 认证 、 授权 、 加密 和 会话管理 的功能。
示例
添加依赖
编辑 pom.xml 添加以下依赖:
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.3.2</version>
</dependency>
shiro-core Shiro 核心库
shiro-web Web 应用支持库
shiro-spring Spring 集成库
配置 Bean
编辑 WebConfiguration.java 文件:
@Configuration
public class WebConfiguration {
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean() {
ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean();
EnvironmentLoaderListener listener = new EnvironmentLoaderListener();
bean.setListener(listener);
return bean;
}
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean bean = new FilterRegistrationBean();
ShiroFilter shiroFilter = new ShiroFilter();
bean.setFilter(shiroFilter);
return bean;
}
}
说明:
配置 EnvironmentLoaderListener
监听器, EnvironmentLoaderListener
初始化了一个 WebEnvironment
,使其可以在 ServletContext
中访问
配置 ShiroFilter
过滤器, ShiroFilter
会使用 WebEnvironment
对所有过滤的请求执行必要的安全操作
编辑 ShiroConfiguration.java 文件:
@Configuration
public class ShrioConfiguration {
@Bean
public SecurityManager securityManager() {
WebIniSecurityManagerFactory securityManagerFactory = new WebIniSecurityManagerFactory();
return securityManagerFactory.getInstance();
}
@Bean
public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() {
return new LifecycleBeanPostProcessor();
}
}
说明:
通过工厂类 WebIniSecurityManagerFactory
构建一个适用于 Web 基于 ini 配置的 SecurityManager
实例
通过 LifecycleBeanPostProcessor
自动调用 Spring 中 Shiro Bean 的 init 方法和 destroy 方法
配置 shiro.ini
编辑 shiro.ini
[main] [users] admin = admin, admin [roles] admin = * [urls] /api/** = authcBasic
[main]
定义了 SecurityManager 的配置
[users]
定义了用户名、密码和角色
[roles]
定义了角色和权限
[urls]
定义了 URL 过滤器
以上所述就是小编给大家介绍的《学习 Spring Boot(七):集成 Apache Shiro 安全框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- express项目集成mocha测试框架
- Springboot Application 集成 OSGI 框架开发
- 禅道 12.3.stable 版本发布,全面集成八种单元测试框架,打通持续集成闭环
- Chef 15.0.118 发布,系统集成框架
- Chef 15.0.118 发布,系统集成框架
- 微服务框架 Micronaut 集成 Kafka、GraphQL 实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Open Data Structures
Pat Morin / AU Press / 2013-6 / USD 29.66
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues......一起来看看 《Open Data Structures》 这本书的介绍吧!