共计 746 个字符,预计需要花费 2 分钟才能阅读完成。
Shiro 应用之权限缓存
咱们每次应用权限的时候,每次都要从数据库中查找权限数据,影响零碎的运行效率,所以能够对用户的权限进行缓存。
1、在 SpringShiroConfig 中配置缓存
/** | |
* 配置 shiro 框架中的 CacheManager 对象,用于缓存用户权限 | |
* | |
* @return | |
*/ | |
@Bean | |
public CacheManager shiroCacheManager() {return new MemoryConstrainedCacheManager(); | |
} |
2、将缓存注入到 securityManager 中
@Bean | |
public org.apache.shiro.mgt.SecurityManager securityManager(Realm realm, CacheManager cacheManager, | |
RememberMeManager rememberMeManager, SessionManager sessionManager) {DefaultWebSecurityManager sManager = new DefaultWebSecurityManager(); | |
// 写完 realm 后把它注入给 securityManager | |
sManager.setRealm(realm); | |
sManager.setCacheManager(cacheManager); | |
sManager.setRememberMeManager(rememberMeManager); | |
sManager.setSessionManager(sessionManager); | |
return sManager; | |
} |
3、后果
能够看到当我第一次点击日志治理的时候第一次拜访,受权中的输入执行了。
第二次点击
能够看到语句没有输入,阐明是从缓存中获取的权限。
正文完