shiro.ini 配置詳解

shiro.ini 配置詳解​​​​​​​html

 
  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.  
  13. #realm
  14. #↓默認會按此聲明順序攔截判斷,這裏的順序是先走myRealm2,再走myRealm
  15. myRealm2 = com.myproject.shiro.ShiroRealm2
  16. myRealm = com.myproject.shiro.ShiroRealm
  17. #↓可以使用此方法,配置單個或多個,或指定順序
  18. #↓若是這裏註釋去掉,則指定只走myRealm2
  19. #securityManager.realm = $myRealm2
  20.  
  21. #dateSource
  22. #↓ 使用 JdbcRealm 做爲當前驗證的Realm
  23. jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm
  24. #↓ 使用druid數據源
  25. dataSource=com.alibaba.druid.pool.DruidDataSource
  26. #↓ MySQL驅動
  27. dataSource.driverClassName=com.mysql.jdbc.Driver
  28. #↓ MySQL相關參數配置
  29. dataSource.url=jdbc:mysql://localhost:3306/msshop
  30. dataSource.username=root
  31. dataSource.password=root
  32. #↓ 引入相關數據配置
  33. jdbcRealm.dataSource=$dataSource
  34. #↓這裏是默認的sql查詢語句,能夠本身設定,但參數不能修改,只有一個,且相對應。
  35. jdbcRealm.authenticationQuery = select password from users where username = ?
  36. #jdbcRealm.userRolesQuery = select role_name from user_roles where username = ?
  37. #jdbcRealm.permissionsQuery = select permission from roles_permissions where role_name = ?
  38. #↓是否
  39. #jdbcRealm.permissionsLookupEnabled = false
  40. #saltStyle =NO_SALT , CRYPT, COLUMN, EXTERNAL;
  41. #jdbcRealm.saltStyle = COLUMN
  42.  
  43. securityManager.realms=$jdbcRealm
  44.  
  45. #cache
  46. #shiroCacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
  47. #shiroCacheManager.cacheManagerConfigFile = classpath:ehcache-shiro.xml
  48. #securityManager.cacheManager = $shiroCacheManager
  49.  
  50. #session
  51. sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
  52. sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
  53. sessionDAO.activeSessionsCacheName = shiro-activeSessionCache
  54. sessionManager.sessionDAO = $sessionDAO
  55. securityManager.sessionManager = $sessionManager
  56. securityManager.sessionManager.globalSessionTimeout = 3600000
  57.  
  58. #這裏的規則,web.xml中的配置的ShiroFilter會使用到。
  59. [urls]
  60. / = anon
  61. /login = anon
  62. /suc = authc
  63. #/rpc/rest/** = perms[rpc:invoke], authc
  64. /admin/** = authc
  65.  
  66. #用戶身份/憑據
  67. [users]
  68. li=123,guest
  69. sun=123,admin
  70.  
  71. [roles]
  72. admin = *

有一點說明下:mysql

 
  1. //這是受權方法
  2. protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
  3. String userName = (String) getAvailablePrincipal(principals);
  4. //TODO 經過用戶名得到用戶的全部資源,並把資源存入info中
  5.  
  6. SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
  7. //這裏有一點說明下:
  8. //這裏set的只是把【已有】的權限、角色放到當前驗證的集合中,並非給用戶【設置新的】權限、角色
  9. //【已有】的權限、角色是在配置文件中,或在庫表中,這裏只是取出放到集合中。
  10. info.setStringPermissions(set集合);
  11. info.setRoles(set集合);
  12. info.setObjectPermissions(set集合);
  13. return info;
  14. }
相關文章
相關標籤/搜索