参考文章:
https://www.cnblogs.com/learnhow/p/5694876.html
https://blog.csdn.net/qixiang_chen/article/details/85559370
参考笔记:
1.、shiro是什么?
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理
2、shiro的引出案列
AuthorizationInfo和AuthenticationInfo
在解释它们前首先必须要描述一下Shiro对于安全用户的界定:
和大多数操作系统一样。用户具有角色和权限两种最基本的属性。
例如,我的Windows登陆名称是learnhow,它的角色是administrator,而administrator具有所有系统权限。这样learnhow自然就拥有了所有系统权限。那么其他人需要登录我的电脑怎么办,我可以开放一个guest角色,任何无法提供正确用户名与密码的未知用户都可以通过guest来登录,而系统对于guest角色开放的权限极其有限。
同理,Shiro对用户的约束也采用了这样的方式。AuthenticationInfo代表了用户的角色信息集合,AuthorizationInfo代表了角色的权限信息集合。如此一来,当设计人员对项目中的某一个url路径设置了只允许某个角色或具有某种权限才可以访问的控制约束的时候,Shiro就可以通过以上两个对象来判断。
3、shiro的配置需要什么?
①shiroFilter:过滤器
②securityManager:安全管理
③loginurl:登录的url
successurl:登录成功的ur------->这是shiro权限的一个入口
④unauthorizedUrl:一般用于webservice放行第三方接口的------->一般可以不用讲
⑤filterChainDefinitions:拦截规则 anon :放行 authc:拦截