shiro权限的配置

package com.rquest.riskmaster.config;


import java.util.LinkedHashMap;
import java.util.Map;




import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


import com.rquest.riskmaster.enums.ViewsNameEnums;
import com.rquest.riskmaster.process.ShiroProcess;


@Configuration
public class ShiroConfiguration {
private static final Logger logger = LoggerFactory.getLogger(ShiroConfiguration.class);


/*
* ehcache 主要的管理器
*/
@Bean(name = "appEhCacheCacheManager")
public EhCacheCacheManager ehCacheCacheManager(EhCacheManagerFactoryBean bean){
return new EhCacheCacheManager (bean.getObject ());
}

   @Bean(name = "myShiroRealm")
   public ShiroProcess myShiroRealm(EhCacheCacheManager cacheManager) {  
    ShiroProcess realm = new ShiroProcess(); 
//        realm.setCacheManager(ehCacheManager());
       return realm;
   }  

   @Bean(name = "lifecycleBeanPostProcessor")
   public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() {
       return new LifecycleBeanPostProcessor();
   }


   @Bean
   public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() {
       DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator();
       daap.setBeanName("lifecycleBeanPostProcessor");
       daap.setProxyTargetClass(true);
       return daap;
   }


   @Bean(name = "securityManager")
   public DefaultWebSecurityManager getDefaultWebSecurityManager(ShiroProcess myShiroRealm) {
       DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager();
       dwsm.setRealm(myShiroRealm);
//      <!-- 用户授权/认证信息Cache, 采用EhCache 缓存 --> 
//        dwsm.setCacheManager(ehCacheManager());
       return dwsm;
   }


   @Bean
   public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor(DefaultWebSecurityManager securityManager) {
       AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor();
       aasa.setSecurityManager(securityManager);
       return aasa;
   }
   
   @Bean(name = "shiroFilter")
   public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager) {


       ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
       Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
       // 必须设置 SecurityManager  
       shiroFilterFactoryBean.setSecurityManager(securityManager);
       // 登录成功后要跳转的连接
//        shiroFilterFactoryBean.setSuccessUrl("/user");
//        shiroFilterFactoryBean.setUnauthorizedUrl("/"+ViewsNameEnums.LOGINVIEW);
//        filterChainDefinitionMap.put("/"+ViewsNameEnums.LOGINVIEW, "anon");
//        filterChainDefinitionMap.put("/"+ViewsNameEnums.PORTFOLIOMANAGEMENTVIEW, "authc");
//        filterChainDefinitionMap.put("/"+ViewsNameEnums.REPORTINGVIEW, "authc");
       
       shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);


       return shiroFilterFactoryBean;
   }
   


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值