博客已移至 http://blog.gogl.top
在文章八讲到了shiro缓存权限信息然后达到共享目的,不过存在一个问题,当用户的权限发生改变的时候,需要用户重新登录,从新缓存用户权限信息。这篇文章将介绍在改变用户的权限时,如何清理用户的权限。我这里写了一个帮助类,先贴也代码。
package com.concom.security.infrastructure.helper;
import java.io.Serializable;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.cache.Cache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.concom.security.infrastructure.shiro.ShiroRealm;
import com.concom.security.infrastructure.shiro.cache.ShiroCacheManager;
/**
* @author Dylan
* @time 2014年1月8日
*/
public class ShiroAuthorizationHelper {
/**
*
*/
private static ShiroCacheManager cacheManager;
private static Logger log = LoggerFactory.getLogger(ShiroAuthorizationHelper.class);
/**
* 清除用户的授权信息
* @param username
*/
public static void clearAuthorizationInfo(String username){
if(log.isDebugEnabled()){
log.debug("clear the " + username + " authorizationInfo"
Shiro清理缓存权限信息方法

本文介绍了在用户权限变化时如何使用ShiroAuthorizationHelper清理缓存,确保权限信息的实时更新。该助手类提供静态方法,分别根据用户名和sessionId清除权限及session信息。通过Spring配置将ShiroCacheManager注入静态方法,实现缓存的便捷清理。当缓存被清理后,Shiro会在下次授权时重新加载用户权限。
最低0.47元/天 解锁文章
6394

被折叠的 条评论
为什么被折叠?



