引用:

【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. }

shiro.ini 配置详解的更多相关文章

  1. my.ini配置详解

    Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM ...

  2. php.ini 配置详解

    这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中.最新版本的php.ini可以在下面两个位置查看:http://cvs.php.net/vie ...

  3. php.ini 配置详解【转载】

    [PHP]engine = On   #是否启用PHP解析引擎zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时 ...

  4. Shiro 安全框架详解二(概念+权限案例实现)

    Shiro 安全框架详解二 总结内容 一.登录认证 二.Shiro 授权 1. 概念 2. 授权流程图 三.基于 ini 的授权认证案例实现 1. 实现原理图 2. 实现代码 2.1 添加 maven ...

  5. Shiro 安全框架详解一(概念+登录案例实现)

    shiro 安全框架详细教程 总结内容 一.RBAC 的概念 二.两种常用的权限管理框架 1. Apache Shiro 2. Spring Security 3. Shiro 和 Spring Se ...

  6. PHP的核心配置详解

    1.PHP核心配置详解 代码在不同的环境下执行的结果也会大有不同,可能就因为一个配置问题,导致一个非常高危的漏洞能够利用:也可能你已经找到的一个漏洞就因为你的配置问题,导致你鼓捣很久都无法构造成功的漏 ...

  7. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  8. Centos7上部署openstack ocata配置详解

    之前写过一篇<openstack mitaka 配置详解>然而最近使用发现阿里不再提供m版本的源,所以最近又开始学习ocata版本,并进行总结,写下如下文档 OpenStack ocata ...

  9. (转)Centos7上部署openstack ocata配置详解

    原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124  文章-2  评论-82  Centos7上部署openstack ocata配置详解 ...

随机推荐

  1. js之动态加载等待图像地址汇总

    Ajax火啊,火到了居然Loading Icons都有很多人专门提供的地步.下面是我同事给我介绍的一些提供Ajax Activity Indicators的网站,共享给大家,以便让我们的Ajax应用具 ...

  2. xml常用四种解析方式优缺点的分析×××××

    xml常用四种解析方式优缺点的分析 博客分类: xml   最近用得到xml的解析方式,于是就翻了翻自己的笔记同时从网上查找了资料,自己在前人的基础上总结了下,贴出来大家分享下. 首先介绍一下xml语 ...

  3. 5、手把手教你Extjs5(五)使用图标字体来美化按钮)

    sencha 的例子中,有使用图标字体来美化按钮的例子,这个用起来又方便风格又统一,例如下图: 上面图标字体的使用方法也很简单,只要下载Font Awesome的css和图标文件,放到项目里就可以了. ...

  4. LPC1788的IIC使用

    #ifndef __IIC0_H_ #define __IIC0_H_ #include "common.h" #include "delay.h" //IIC ...

  5. iOS开发—— UIImagePickerController获取相册和拍照

    一.简单的拍照显示,或是从相册中直接选取照片 #import "ViewController.h" @interface ViewController ()<UIImageP ...

  6. 64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)

    源:64脚和小于64脚的STM32进行AD时注意,参照电源处理方法 请注意,ADC_IN17上没有内部基准,将其说成基准电压概念不对. 所以横线以下的理解不对,如果将其做为参考,则其电压假定按1.2V ...

  7. Splay初步【bzoj1503】

    做了一道水题,把bzoj1503用Splay重新写了一下. #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i ...

  8. Yii实现Password Repeat Validate Rule

    在使用Yii时遇到这样的需求:在一个注册的页面输入两次密码,并验证两次输入是否一致.可是password的repeat的字段在数据库 并不存在.问题来了,如何创建一个password_repeat的属 ...

  9. UVa 10074 - Take the Land

    题目大意:和UVa 836 - Largest Submatrix差不多,只需要修改一下数据就可以了. #include <cstdio> #include <cstring> ...

  10. Swing 窗口的最小化到系统图标与还原

    2014年2月26日 13:01:47 一个上午的功夫,终于折腾好了. 上午主要是卡在监听事件的参数问题.当时脑子不好使,忘记事件是自己构造的,傻傻的测试了半天,如何传递窗口的参数 等中午解决的时候, ...