(一)认识shiro

1、什么是shiro?
shiro是一个开源的安全管理框架,可以完成认证、授权、加密、会话管理、缓存等功能

2、shiro功能介绍
在这里插入图片描述
Authentication:认证登录,验证用户的合法性

Authorization :授权,授予谁具有访问某些资源的权限

Session Management :会话管理,用户登录后的用户信息通过Session Management进行管理,也就是说用户登陆后就是一次会话,在他退出之前,他的所有信息都在会话中

Cryptography:密码模块,提供了一些加密算法

Web Supportweb:支持,可以很容易的集成到web环境中

Caching: 缓存,用户登陆后,其用户信息、所拥有的角色权限不必每次都查,这样 可以提高效率

Concurrency: shiro支持多线程应用的并发验证

Tesing:提供测试支持

Run As:允许一个用户假装另一个用户(如果他们允许的话)的身份进行访问

Remember Me:记住我,一次登陆后,下次就不用在登陆了

3、shiro架构
从外部看
在这里插入图片描述
从内部看
在这里插入图片描述

Subject:主体,是和应用代码直接进行交互的对象

SecurityManager:安全管理器,所有与安全相关的操作都会与SecurityManager进行交互,是shiro的核心

Authenticator:认证器,负责subject认证,可以使用认证策略(Authentication Strategy),在什么情况下用户认证才能通过

Authroizer:授权器,控制用户能访问应用中的哪些功能

Realm:领域,用来与外界数据库进行交互的,securityManager验证用户身份的时候,需要从realm中获取用户信息进行比较,来确认用户身份是否合法

SessionManager:管理session生命周期的组件

CacheManager:缓存控制器,缓存很少改变的数据如用户、角色、权限等,从而提高访问效率

猜你喜欢

转载自blog.csdn.net/qq_42570879/article/details/84951242