-
简介:
Apache Shiro 是Java的一个安全框架,
可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。
目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。
摘自w3cschool:https://www.w3cschool.cn/shiro/co4m1if2.html
-
项目简介:项目实现了shiro基本的功能,如 认证、授权、会话管理、缓存等
-
项目结构如下:
-
流程图如下
-
效果展示如下:
-
认证授权
- 首先:使用A浏览器登陆一个未授权的页面,会跳转到登陆页面
- 访问页面http://localhost:8088/one:
- 自动跳转到登陆页面:
- 填写正确的用户名密码后会登陆到首页
- 登陆成功页面
- 登陆成功后再访问其他页面可以正常访问:
- 使用B浏览器访问会需要再次登陆
- B浏览器登陆成功后可以正常访问
- 使用浏览器B登陆后,之前A浏览器登陆的状态失效,再次访问A需要再次登陆,例如之前A浏览器登陆的页面 http://localhost:8088/three,刷新后会回到登陆页面
- A浏览器之前的状态:
- 刷新后:
-
鉴权(不同的用户拥有页面的权限不一样):
- 切换用户登陆
- 访问授权的页面
- 访问此用户未授权的页面
- 访客权限(不需要登陆就可以访问页面)
- 首先退出登陆,访问不用鉴权的页面
-
会话管理、登陆用户信息缓存
- 登陆用户认证成功后,将用户信息放入shiro的session中,随时可以获取用户信息