Apache Shiro是一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理,无论什么时候,用户认证和权限控制都是一个永恒的话题,前后端分离是当前很火的一种开发模式,便于前、后端人员专注于自己的逻辑实现,也更有利于大规模协作开发,在此开发模式下,如何使用shiro呢?本文的方案基于token认证授权,来自于实际项目,现将主要思路整理出来分享给大家,欢迎探讨,如需要源码请私信联系。
一、开发环境
- 前端:任何一种前端框架(如Vue、Angular等)
- 后端:springboot
二、主要逻辑
- 用户通过账号密码(身份+凭证)登录网站(前端页面调用后端登录接口,传入身份和凭证)
- 后端程序登录,并生成对应token给前端网页(token和用户id绑定并入库)
- 前端网页后续访问均带上token
- 后端通过token识别用户,并获得用户的访问权限
- 后端根据用户访问权限决定是否放行
![ecc2d37b9ded14c53d8b41ebe28b7da7.png](https://i-blog.csdnimg.cn/blog_migrate/fb111109c09a68aa048a93d0f44e85d1.jpeg)
shiro认证、授权序列图
三、对上图解释说明
- shiro