shiro.ini 配置详解
引用:
【1】开涛的《跟我学shiro》
【2】《SpringMVC整合Shiro》
【3】《shiro简单配置》
【4】Apache shiro集群实现 (一) shiro入门介绍
shiro.ini文件默认在_/WEB-INF/_ 或_classpath_下。shiro会自动查找
#‘#’为注释[main]#↓修改默认跳转页#↓shiro 认证失败后默认redirect到/login.jsp.这里修改默认项authc.loginUrl = /login#↓登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。authc.successUrl = /user#↓修改角色认证默认地址roles.unauthorizedUrl = /roles/unauthorized#↓修改权限认证默认地址perms.unauthorizedUrl = /perms/unauthorized#realm#↓默认会按此声明顺序拦截判断,这里的顺序是先走myRealm2,再走myRealmmyRealm2 = com.myproject.shiro.ShiroRealm2myRealm = com.myproject.shiro.ShiroRealm#↓可使用此方法,配置单个或多个,或指定顺序#↓如果这里注释去掉,则指定只走myRealm2#securityManager.realm = $myRealm2#dateSource#↓ 使用 JdbcRealm 作为当前验证的RealmjdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm#↓ 使用druid数据源dataSource=com.alibaba.druid.pool.DruidDataSource#↓ MySQL驱动dataSource.driverClassName=com.mysql.jdbc.Driver#↓ MySQL相关参数配置dataSource.url=jdbc:mysql://localhost:3306/msshopdataSource.username=rootdataSource.password=root#↓ 引入相关数据配置jdbcRealm.dataSource=$dataSource#↓这里是默认的sql查询语句,可以自己设定,但参数不能修改,只有一个,且相对应。jdbcRealm.authenticationQuery = select password from users where username = ?#jdbcRealm.userRolesQuery = select role_name from user_roles where username = ?#jdbcRealm.permissionsQuery = select permission from roles_permissions where role_name = ?#↓是否#jdbcRealm.permissionsLookupEnabled = false#saltStyle =NO_SALT , CRYPT, COLUMN, EXTERNAL;#jdbcRealm.saltStyle = COLUMNsecurityManager.realms=$jdbcRealm#cache#shiroCacheManager = org.apache.shiro.cache.ehcache.EhCacheManager#shiroCacheManager.cacheManagerConfigFile = classpath:ehcache-shiro.xml#securityManager.cacheManager = $shiroCacheManager#sessionsessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAOsessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManagersessionDAO.activeSessionsCacheName = shiro-activeSessionCachesessionManager.sessionDAO = $sessionDAOsecurityManager.sessionManager = $sessionManagersecurityManager.sessionManager.globalSessionTimeout = 3600000#这里的规则,web.xml中的配置的ShiroFilter会使用到。[urls]/ = anon/login = anon/suc = authc#/rpc/rest/** = perms[rpc:invoke], authc/admin/** = authc#用户身份/凭据[users]li=123,guestsun=123,admin[roles]admin = *
有一点说明下:
//这是授权方法protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {String userName = (String) getAvailablePrincipal(principals);//TODO 通过用户名获得用户的所有资源,并把资源存入info中SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();//这里有一点说明下://这里set的只是把【已有】的权限、角色放到当前验证的集合中,并不是给用户【设置新的】权限、角色//【已有】的权限、角色是在配置文件中,或在库表中,这里只是取出放到集合中。info.setStringPermissions(set集合);info.setRoles(set集合);info.setObjectPermissions(set集合);return info;}
shiro.ini 配置详解的更多相关文章
- my.ini配置详解
Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM ...
- php.ini 配置详解
这个文件必须命名为''php.ini''并放置在httpd.conf中的PHPIniDir指令指定的目录中.最新版本的php.ini可以在下面两个位置查看:http://cvs.php.net/vie ...
- php.ini 配置详解【转载】
[PHP]engine = On #是否启用PHP解析引擎zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时 ...
- Shiro 安全框架详解二(概念+权限案例实现)
Shiro 安全框架详解二 总结内容 一.登录认证 二.Shiro 授权 1. 概念 2. 授权流程图 三.基于 ini 的授权认证案例实现 1. 实现原理图 2. 实现代码 2.1 添加 maven ...
- Shiro 安全框架详解一(概念+登录案例实现)
shiro 安全框架详细教程 总结内容 一.RBAC 的概念 二.两种常用的权限管理框架 1. Apache Shiro 2. Spring Security 3. Shiro 和 Spring Se ...
- PHP的核心配置详解
1.PHP核心配置详解 代码在不同的环境下执行的结果也会大有不同,可能就因为一个配置问题,导致一个非常高危的漏洞能够利用:也可能你已经找到的一个漏洞就因为你的配置问题,导致你鼓捣很久都无法构造成功的漏 ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Centos7上部署openstack ocata配置详解
之前写过一篇<openstack mitaka 配置详解>然而最近使用发现阿里不再提供m版本的源,所以最近又开始学习ocata版本,并进行总结,写下如下文档 OpenStack ocata ...
- (转)Centos7上部署openstack ocata配置详解
原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124 文章-2 评论-82 Centos7上部署openstack ocata配置详解 ...
随机推荐
- Sping--life cycle
bean.xml: 注意, 千万不要后面加上 scope="prototype" <?xml version="1.0" encoding="U ...
- MYSQL-group_concat设置group_concat_max_len
MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即" ...
- 分布式数据库Google Spanner原理分析
Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) .Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的 ...
- Android小功能之垂直滚动条
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android=" ...
- 微信小程序-未接入app.json错误
微信小程序建立新项目之后会出现app.json文件未接入错误如下图: 一般是因为在下图添加新项目,项目目录这一列,如果不事先建立一个空的文件夹,直接选择则不会出现quickstartup界面 所以在建 ...
- 为什么建立TCP连接需要三次握手,为什么断开TCP连接需要四次握手,TIME_WAIT状态的意义
为什么建立TCP连接需要三次握手? 原因:为了应对网络中存在的延迟的重复数组的问题 例子: 假设client发起连接的连接请求报文段在网络中没有丢失,而是在某个网络节点长时间滞留了,导致延迟到达ser ...
- 命名空间“Microsoft.AspNet”中不存在类型或命名空间名“Mvc”
问题: 错误 CS0234 命名空间"Microsoft.AspNet"中不存在类型或命名空间名"Mvc"(是否缺少程序集引用?) 解决方案: 打开文件夹 Us ...
- AndroidManifest.xml文件
AndroidManifest.xml常用标签解读 1.全局篇(包名,版本信息) 2.组件篇(四大组件) Activity Service Content Provider Broadcast Rec ...
- perl访问数组中变量
数组一个是存储标量值的无序列表变量. 数组变量以 @ 开头.访问数组元素使用 $ + 变量名称 + [索引值] 格式来读取,实例如下: #!/usr/bin/perl @names = (" ...
- spark Intellij IDEA开发环境搭建
(1)创建Scala项目 File->new->Project,如下图 选择Scala 然后next 其中Project SDK指定安装的JDK,Scala SDK指定安装的Scala(这 ...