zoukankan      html  css  js  c++  java
  • 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.username=root
    29. dataSource.password=root
    30. #↓ 引入相关数据配置
    31. jdbcRealm.dataSource=$dataSource
    32. #↓这里是默认的sql查询语句,可以自己设定,但参数不能修改,只有一个,且相对应。
    33. jdbcRealm.authenticationQuery = select password from users where username = ?
    34. #jdbcRealm.userRolesQuery = select role_name from user_roles where username = ?
    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. return info;
    13. }




  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/ElEGenT/p/6051622.html
Copyright © 2011-2022 走看看