shiro集成redis
时间: 2023-11-04 22:01:19 浏览: 110
shiro-redis-spring-boot-starter是一个用于将shiro-redis与Spring Boot整合的库,它可以方便地将配置写入application.yml中。它内部引入了spring-boot-autoconfigure、shiro-redis和shiro-spring-boot-web-starter这些包。通过引入shiro-redis,你可以实现在shiro中使用redis缓存权限的功能。你可以按照原生的shiro配置来使用,尽量减少自定义配置。这个库已经通过自测,并且代码可用。
相关问题
springboo怎么集成shiro和redis
Spring Boot 集成 Shiro 和 Redis 可以分为以下几个步骤:
1. 引入 Shiro 和 Redis 的依赖:在 pom.xml 文件中添加 Shiro 和 Redis 的依赖,例如:
```xml
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置 RedisTemplate:在 Spring Boot 的配置文件中配置 RedisTemplate,例如:
```yaml
spring:
redis:
host: localhost
port: 6379
password: # Redis 密码
```
3. 配置 ShiroFilterFactoryBean:在 Spring Boot 的配置类中配置 ShiroFilterFactoryBean,例如:
```java
@Bean
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
shiroFilter.setSecurityManager(securityManager);
// 配置拦截器
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
filterChainDefinitionMap.put("/login", "anon");
filterChainDefinitionMap.put("/**", "authc");
shiroFilter.setFilterChainDefinitionMap(filterChainDefinitionMap);
return shiroFilter;
}
```
4. 配置 SecurityManager:在 Spring Boot 的配置类中配置 SecurityManager,例如:
```java
@Bean
public SecurityManager securityManager() {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(shiroRealm());
securityManager.setCacheManager(redisCacheManager());
return securityManager;
}
```
5. 配置 RedisCacheManager:在 Spring Boot 的配置类中配置 RedisCacheManager,例如:
```java
@Bean
public RedisCacheManager redisCacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager();
redisCacheManager.setRedisTemplate(redisTemplate);
redisCacheManager.setExpire(3600);
return redisCacheManager;
}
```
其中,shiroRealm() 方法需要自己实现,用来配置 Shiro 的 Realm。另外,需要在 Redis 中配置缓存的键前缀,可以在 RedisCacheManager 中通过 setKeyPrefix() 方法来实现。
以上就是 Spring Boot 集成 Shiro 和 Redis 的基本步骤。
阅读全文
相关推荐
![vsd](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)