apacheshiro学习笔记.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
apacheshiro学习笔记

shiro.ini [main] #创建一个HashedCrededtialsMatcher对象 cm = org.apache.shiro.authc.credential.HashedCredentialsMatcher #调用cm的setHashAlgorithm(...)方法 cm.hashAlgorithm = SHA-512 cm.hashIterations = 1024 # Base64 encoding (less text): cm.storedCredentialsHexEncoded = false # $cm,引用上面定义的cm对象 # 指定密码编码方式 iniRealm.credentialsMatcher = $cm #设置某个filter启用状态 ssl.enabled = false #设置缓存机制 #Shiro 的SecurityManager 实现及所有AuthorizingRealm实现都实现了CacheManagerAware,设置会改变这些类的缓存机制 cacheManager = my.implementation.of.CacheManager [users] ##username = password, roleName1, roleName2, …, roleNameN jdoe = TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJpcyByZWFzb2 asmith = IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbXNoZWQsIG5vdCB [roles] #rolename = permissionDefinition1, permissionDefinition2, … , permissionDefinitionN #permissionDefinition 是一个任意的字符串,但大多数人将会使用符合 #org.apache.shiro.authz.permission.WildcardPermission 格式的字符串 admin = * master = winnebago:drive:eagle5 guest = printer:5thFloor:print,info [urls] #格式为:URL_Ant_Path_Expression = Path_Specific_Filter_Chain #右边为用逗号隔开的过滤器列表,格式为:filter1[optional_config1], ..., filterN[optional_configN] /assets/** = anon #第一个匹配的url会短路之后匹配的url 即FIRST MATCH WINS原则 /user/signup = anon /user/** = user /rpc/rest/** = perms[rpc:invoke], authc /** = authc 加载配置文件 //1.装入INI配置 FactorySecurityManager factory = new IniSecurityManagerFactory(classpath:shiro.ini); //2. 创建SecurityManager SecurityManager securityManager = factory.getInstance(); //3. 使其可访问 SecurityUtils.setSecurityManager(securityManager); Subject登录 //1. 接受提交的当事人和证书: AuthenticationToken token = new UsernamePasswordToken(username, password); //2. 获取当前Subject: Subject currentUser = SecurityUtils.getSubject(); //3. 登录: currentUser.login(token); //退出 subject.logout(); //可设置“记住我” token.setRememberMe(true); 验证步骤: 控制失败的登录 //3. 登录: try { currentUser.login(token); } catch (IncorrectCredentialsException ice) { … } catch (LockedAccountException lae) { … } … catch (AuthenticationException ae) {… } 验证是否登录 subject.is

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档