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;}

浙公网安备 33010602011771号