springboot 集成shiro
时间: 2024-10-30 09:06:41 浏览: 21
SpringBoot 集成 Shiro 实现动态uri权限
Spring Boot集成Shiro是一个常见的企业级应用安全框架集成实践。Shiro是一个强大的开源身份验证和授权框架,而Spring Boot简化了项目配置,使得整合变得简单。以下是基本步骤:
1. 添加依赖:在你的`pom.xml`文件中添加Shiro和其Spring Boot Starter依赖:
```xml
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<!-- 使用最新版本 -->
<version>1.9.0</version>
</dependency>
```
2. 配置Spring Security:在`application.properties`或`application.yml`中添加必要的配置,如数据库用户信息源、加密器等:
```properties
shiro.credentialsMatcher=org.apache.shiro.authc.pwdfilter.MyCustomPasswordEncoderTokenCredentialMatcher
shiro.realm.className=com.example.demo.security.MyRealm
```
3. 创建 Realm 和 SecurityManager:创建一个实现了`AuthorizingRealm`接口的自定义Realm,并配置SecurityManager:
```java
public class MyRealm extends AuthorizingRealm {
// 实现认证和授权逻辑...
}
@Bean("securityManager")
public SecurityManager securityManager() throws Exception {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(myRealm());
return securityManager;
}
```
4. 控制器注解:为了保护资源,可以在需要权限控制的Controller上添加@Secured注解或使用AOP切面。
5. 访问管理:通过@RequestMapping注解和`@RequiresRoles`或`@PermitAll`等注解,对HTTP请求进行访问控制。
阅读全文