0

私は中国の学生で、最近 springMVC+shrio を使用しましたが、プログラムではセッションを使用できません。権限が必要になるたびに、次のメソッドを実行します: 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;
}
4

1 に答える 1

0

キャッシュを使用していないという理由だけで、答えを見つけます。

いくつかの構成を追加します。

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

-->

于 2015-07-26T06:18:07.727 に答える