当前位置: 首页 >Java技术 > shiro.ini 配置详解

shiro.ini 配置详解

引用:
【1】开涛的《跟我学shiro》
【2】《SpringMVC整合Shiro》
【3】《shiro简单配置》
【4】Apache shiro集群实现 (一) shiro入门介绍

shiro.ini文件默认在_/WEB-INF/_ 或_classpath_下。shiro会自动查找

  1. #‘#’为注释
  2. [main]
  3. #↓修改默认跳转页
  4. #↓shiro 认证失败后默认redirect到/login.jsp.这里修改默认项
  5. authc.loginUrl = /login
  6. #↓登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。
  7. authc.successUrl = /user
  8. #↓修改角色认证默认地址
  9. roles.unauthorizedUrl = /roles/unauthorized
  10. #↓修改权限认证默认地址
  11. perms.unauthorizedUrl = /perms/unauthorized
  12. #realm
  13. #↓默认会按此声明顺序拦截判断,这里的顺序是先走myRealm2,再走myRealm
  14. myRealm2 = com.myproject.shiro.ShiroRealm2
  15. myRealm = com.myproject.shiro.ShiroRealm
  16. #↓可使用此方法,配置单个或多个,或指定顺序
  17. #↓如果这里注释去掉,则指定只走myRealm2
  18. #securityManager.realm = $myRealm2
  19. #dateSource
  20. #↓ 使用 JdbcRealm 作为当前验证的Realm
  21. jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm
  22. #↓ 使用druid数据源
  23. dataSource=com.alibaba.druid.pool.DruidDataSource
  24. #↓ MySQL驱动
  25. dataSource.driverClassName=com.mysql.jdbc.Driver
  26. #↓ MySQL相关参数配置
  27. dataSource.url=jdbc:mysql://localhost:3306/msshop
  28. dataSource.useame=root
  29. dataSource.password=root
  30. #↓ 引入相关数据配置
  31. jdbcRealm.dataSource=$dataSource
  32. #↓这里是默认的sql查询语句,可以自己设定,但参数不能修改,只有一个,且相对应。
  33. jdbcRealm.authenticationQuery = select password from users where useame = ?
  34. #jdbcRealm.userRolesQuery = select role_name from user_roles where useame = ?
  35. #jdbcRealm.permissionsQuery = select permission from roles_permissions where role_name = ?
  36. #↓是否
  37. #jdbcRealm.permissionsLookupEnabled = false
  38. #saltStyle =NO_SALT , CRYPT, COLUMN, EXTERNAL;
  39. #jdbcRealm.saltStyle = COLUMN
  40. securityManager.realms=$jdbcRealm
  41. #cache
  42. #shiroCacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
  43. #shiroCacheManager.cacheManagerConfigFile = classpath:ehcache-shiro.xml
  44. #securityManager.cacheManager = $shiroCacheManager
  45. #session
  46. sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
  47. sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
  48. sessionDAO.activeSessionsCacheName = shiro-activeSessionCache
  49. sessionManager.sessionDAO = $sessionDAO
  50. securityManager.sessionManager = $sessionManager
  51. securityManager.sessionManager.globalSessionTimeout = 3600000
  52. #这里的规则,web.xml中的配置的ShiroFilter会使用到。
  53. [urls]
  54. / = anon
  55. /login = anon
  56. /suc = authc
  57. #/rpc/rest/** = perms[rpc:invoke], authc
  58. /admin/** = authc
  59. #用户身份/凭据
  60. [users]
  61. li=123,guest
  62. sun=123,admin
  63. [roles]
  64. admin = *

有一点说明下:

  1. //这是授权方法
  2. protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
  3. String userName = (String) getAvailablePrincipal(principals);
  4. //TODO 通过用户名获得用户的所有资源,并把资源存入info中
  5. SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
  6. //这里有一点说明下:
  7. //这里set的只是把【已有】的权限、角色放到当前验证的集合中,并不是给用户【设置新的】权限、角色
  8. //【已有】的权限、角色是在配置文件中,或在库表中,这里只是取出放到集合中。
  9. info.setStringPermissions(set集合);
  10. info.setRoles(set集合);
  11. info.setObjectPermissions(set集合);
  12. retu info;
  13. }




作者:孙行者、
来源链接:https://www.cnblogs.com/ElEGenT/p/6051622.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/java/113274.html

标签:Shiro
分享给朋友:

“shiro.ini 配置详解” 的相关文章

1024 节日快乐!Linux find 命令介绍 2022年05月15日 21:41:25
SpringBoot整合hibeate纯注解版 2022年05月15日 21:58:07
windows下kafka搭建 2022年05月15日 21:58:15
SpringBoot 如何进行参数校验 2022年05月16日 19:52:41
网络协议极简总结 2022年05月16日 20:34:14
SpringCloud简单实例 2022年05月16日 20:38:34