学习shiro的一些试验代码
代码说明:
来自开涛的跟我学shiro #demo1 ini配置的测试用例 以junittest方式允许cn.ilongfei.shirodemo.demo1.Demo1Test.java 目的: 跟踪程序,了解最基本的运行方式。 #demo2 最简单的realm 例子有误导,realm的getAuthenticationInfo应该从数据源获取userInfo信息, 但是该实例中判用户名和密码,可能误导读者以为这里判好就通过了,实际上比对密码的工作在AuthenticatingRealm 中的getAuthenticationInfo方法中, 通过assertCredentialsMatch(token, info)来判断token是否和info一致(比对密码) 该方法不可覆盖,但是可以设置matcher改变密码比对的实现,设置realm的CredentialsMatcher. #demo3 权限初步 在AuthorizingRealm的hasRole中判断,比对的方法是从info中取出roles,确认其中是否contains需比较的role的字符串 在跟踪过程中发现SimpleAccountRealm中竟然维护了users map,之后的info都是从users中根据username检索出来的。 * checkRole/checkRoles 和 hasRole/hasAllRoles 不同的地方是它在判断为假的情况下会抛出 UnauthorizedException 异常 * hasPermission 流程如下: Subject.isPermitted(String permission) securityManager.isPermitted(getPrincipals(), permission)
下载说明:请别用迅雷下载,失败请重下,重下不扣分!