shiro 动态修改资源权限

用shiro做权限控制的时候,变更用户或者角色的权限后刷新界面不会重新加载权限,需要重启tomcat或者用户重新登录,通过下面的方式可以解决这个问题,但仅仅针对于单机

代码使用:

工具类中:

/**
     *
     * @Title: clearAuth
     * @Description: TODO 清空所有资源权限
     * @return void    返回类型
     */
    public static void clearAuth(){
        RealmSecurityManager rsm = (RealmSecurityManager)SecurityUtils.getSecurityManager();
        UserRealm realm = (UserRealm) rsm.getRealms().iterator().next();
        realm.clearAuthz();
    }

自定义AuthorizingRealm中:

public void clearAuthz(){
        this.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
    }

在进行权限修改完成之后,进行去权限的清空

猜你喜欢

转载自blog.csdn.net/qq_42239765/article/details/86666571