![fa4c43f59c4edc71eb5f4c6b4bc48048.png](https://i-blog.csdnimg.cn/blog_migrate/4e2391689bcf4fc5467bc7d90045423c.jpeg)
作者|GIT提交不上|简书
一、Shiro简介
Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。
Shiro基本功能点如下所示:
![ef222fbdaddadee3ad03823e64b544d7.png](https://i-blog.csdnimg.cn/blog_migrate/bdd260ef249873b90e44d4c7212dbd2a.jpeg)
图1.1 Shiro基本功能点.png
Shiro工作流程如下所示:
![4561b412c22d9cdbf33b17832ffe33f8.png](https://i-blog.csdnimg.cn/blog_migrate/e79c475544dbbf4a27fd0cf6247ca095.jpeg)
图1.2 Shiro工作流程-应用程序角度.png
Shiro内部架构如下所示:
![3dbc29f0cfc8afc7b9a078c465564dbe.png](https://i-blog.csdnimg.cn/blog_migrate/eb8743e6fd01705d19f41993e9babb92.jpeg)
图1.3 Shiro内部架构.png
Shiro官网
认证与Shiro安全框架
二、Spring Boot整合Shiro
本文实现源码如下,欢迎Star和Fork。
https://github.com/just-right/shiro
2.1 前后端分离
实现思路:用户登录时生成token信息,设置过期时间,使用Redis存储。前端调用接口时将token作为参数传给服务端,服务端根据token信息认证用户。
参考链接一:一看就懂!Springboot +Shiro +VUE 前后端分离式权限管理系统
参考链接二:人人开源-renren-fast
自定义AuthFilter过滤器,继承AuthenticatingFilter重写createToken、isAccessAllowed、onAccessDenied、onLoginFailure方法。
AuthenticatingFilte类executeLogin方法如下所示:
protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception { AuthenticationToken token