关于shiro整合springboot遇到的问题

1、在ShiroConfig需要添加缓存,否则后果会造成多次登录认证,随后在安全管理器上添加缓存配置

    //因为shiro不知道账户的授权信息,没有缓存需要在内存缓存管理器上加上一行代码添加缓存
    @Bean
    public EhCacheManager getCache(){
 
        return new EhCacheManager();
    } 
 @Bean("securityManager")
    public DefaultWebSecurityManager securityManager(CustomerRealm realm) {
        DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager();
         defaultWebSecurityManager.setCacheManager(getCache());
    return defaultWebSecurityManager;
    }

2、当遇到权限不足时就会抛出AuthorizationException异常,解决方法配置一个全局异常返回前端

   @ResponseBody
   @ExceptionHandler(UnauthorizedException.class)
   public Result handleShiroException(Exception ex) {
     return   ResultUtil.error(102,"无权限");
   }
   @ResponseBody
   @ExceptionHandler(AuthorizationException.class)
   public Result AuthorizationException(Exception ex) {
       return   ResultUtil.error(102,"登录认证失败");

   }
posted @ 2021-03-22 18:01  Kang_kin  阅读(128)  评论(0)    收藏  举报