1. 什么是Shiro?默认主配置文件是什么?
Shiro是一个强大且易用的Java安全框架,执行身份验证,授权,加密和会话管理,使用Shiro的易于理解的API,可以快速,轻松地获得任何应用程序。
主配置文件是applicationContext-shiro.xml
2. AuthorizingRealm类中重要两个方法是什么?
doGetAuthenticationInfo和doGetAuthorizaInfo
doGetAuthenticationInfo:
该方法需要的参数是Authentication Token对象,Authentication Token用于收集前端提交的身份,通过该参数传入数据与后端用户数据进行密码比对,最终判断用户登录成功与否;
doGetAuthorizaInfo:
该方法需要的参数是PrincipalCollection对象,这个对象表示通过认证后的登录主体,这个方法作用就是要给这个登录的主体授权,返回一个授权后的主体simpleAuthorizationInfo。
3. 为什么要先认证,后授权?
认证是关于验证你的依据,以验证访问者的身份,系统确定你是否是你所说的使用凭据。授权则是发生在系统完成认证之后,最终会授予你访问资源的完成权限,授权是确定经过身份验证的用户是否可以访问特定资源的过程,来验证你是否有权授予你访问信息的权限。简单地说,认证意味着确认你自己的身份,而授权意味着授予对系统的访问权限。
4. Shiro资源三张表和五张表的区别?
三张表和五张表都可以实现权限管理,三张表我们可以通过在用户表中添加外键就可以实现,但我们为了解耦合,三张表就降低了可读性,所以我们一般建议用五张表。