# shiro-demo
**Repository Path**: opensource4clive/shiro-demo
## Basic Information
- **Project Name**: shiro-demo
- **Description**: shiro-demo
- **Primary Language**: Java
- **License**: LGPL-2.1
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2017-10-23
- **Last Updated**: 2022-06-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# shiro-demo by clive 2017/10/23
apache shiro demo
Spring + SpringMVC + Mybatis + FreeMarker + MySql + Bootstrap
## version: 0.0.2-RELEASE (release at 2017/10/26)
authc 登录用户
* **登录:** 通过账号,密码,验证码进行登录, 登录之后回跳到登录前的页面
* **我的角色:** 显示登录者拥有的角色
* **我的权限:** 登录者拥有的权限
* **修改密码:** 修改登录者自己的密码
permission 拥有权限的用户
* **管理员列表:** 管理员的增删改查,启用/禁用,重置密码,角色分配
* **权限列表:** 权限的增删改查,启用/禁用
* **角色列表:** 角色的增删改查,启用/禁用,权限分配
### 接入shiro步骤
* 导入maven依赖
```xml
org.apache.shiro
shiro-core
${shiro.version}
org.apache.shiro
shiro-web
${shiro.version}
org.apache.shiro
shiro-spring
${shiro.version}
org.apache.shiro
shiro-ehcache
${shiro.version}
net.mingsoft
shiro-freemarker-tags
0.1
```
* web.xml中配置shiro过滤器
```xml
shiroFilter
org.springframework.web.filter.DelegatingFilterProxy
targetFilterLifecycle
true
shiroFilter
/*
```
* 配置shiro与spring集成文件:spring-shiro.xml
* 页面中加入shiro标签
## version: 0.0.3-RELEASE (release at 2017/10/27)
集成redis
* 导入maven依赖
```xml
redis.clients
jedis
2.9.0
org.springframework.data
spring-data-redis
1.8.1.RELEASE
```
* 重写相关缓存类
ExtJedisConnectionFactory.java
RedisCache.java
RedisCacheManager.java
RedisManager.java
RedisSessionDAO.java
SerializeUtils.java
* 修改相关配置
增加spring-redis.xml
spring-shiro.xml中添加sessionManager, 将cacheManager从Ecache换为RedisCacheManager
shiro-demo.properties中增加redis相关配置
```shell
########################
## redis config
########################
redis.config.maxTotal=50
redis.config.maxIdle=10
redis.config.minIdle=10
redis.config.maxWaitMillis=1800
redis.address=redis:6379
redis.masterName=
redis.password=
redis.timeout=1800
redis.expire=1800
```