如何在shrio中使用会话?

时间:2015-07-26 01:58:28

标签: java spring-mvc session authority

我是中国学生,最近我使用了springMVC + shrio,但是在程序中我不能使用session,因为每次我需要权限时,它都会执行以下方法:doGetAuthorizationInfo(PrincipalCollection principals),然后找到数据库和搜索权限等。

protected AuthorizationInfo doGetAuthorizationInfo(
            PrincipalCollection principals) {
        /* 这里编写授权代码 */
        Object ob = principals.fromRealm(getName()).iterator().next(); 
        String userName = (String) ob; 
        User user = roleService.findUser(userName);
        Set<String> roleNames = roleService.findRoleName(user.getId());
        Set<String> permissions = roleService.findUrls(user.getId());
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roleNames);
        info.setStringPermissions(permissions);
        return info;
}

1 个答案:

答案 0 :(得分:0)

我找到答案,因为我没有使用缓存。

添加一些配置:

         

<!-- 配置EHCache缓存 -->
 <property name="cacheManager" ref="shiroEhcacheManager" />

      - &GT;