实现功能
通过shiro框架实现注册、登陆功能 进而简单的分析下shiro框架中数据流转过程 达到熟练使用shiro框架的目标
代码目录
标记蓝色的3个类是shiro相关的 咱们现在一起分析下这3个类中的内容
代码刨析
POM文件引入shiro jar包
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-all</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.2.2</version>
</dependency>
ShiroConfig类
配置shiro过滤器
直接调用doLogout接口 就会调用shiro的logout登出功能
- 初始化 ShiroFilterFactoryBean
- 配置securityManager
- 配置 LoginUrl
- 配置 FilterChainDefinitionMap集合
获取认证消息
ShiroRealm类
MyController类
用户注册
代码流程图
-
(注册过程)根据明文密码计算md5值 入库保存用户名、md5密码
-
(登陆过程)根据用户名和明文密码 生成token
-
将token提交到shiro框架进行验证是否合法
-
先认证用户名是否存在
-
用户名存在的话 则shiro框架会根据明文密码和密码计算规则来进行md5值 然后和数据库中的md5比较
-
一致则登陆成功,不一致则登陆失败
源码资源
https://gitee.com/pingfanrenbiji/ShiroDemo.git
网友评论