文档章节

shiroConfig配置

x
 xxm1995
发布于 2018/11/27 16:36
字数 371
阅读 120
收藏 0

安全管理器设置

/**
 * shiro 安全管理器设置
 * @return SecurityManager
 */
@Bean
public SecurityManager securityManager() {
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        List<Realm> realms = new ArrayList<>(  );
        realms.add( wxRealm() );
        realms.add( userRealm() );
        //设置securityManager 的 realm组.
        securityManager.setRealms( realms );
        //设置session管理器
        securityManager.setSessionManager(sessionManager());
        //自定义的模块化领域认证(cs)
        ModularRealmAuthenticator authenticator = new WxModularRealmAuthenticator();
        /*
         * 设置 authenticator中的 realm 组
         * 注意,这的设置 realm 和前面 securityManager 设置realm没有关系
         * 两边都需要进行设置,这边的用于登录的校验, securityManager 中的暂时不确定
         */
        authenticator.setRealms( realms );
        securityManager.setAuthenticator( authenticator );
        return securityManager;

session管理器

/**
 * shiro session管理器
 * 自定义了获取session的方式
 */
@Bean
public DefaultWebSessionManager sessionManager() {
    //使用自定义的session管理器
    DefaultWebSessionManager sessionManager = new WxSessionManager();
    sessionManager.setGlobalSessionTimeout(tomcatTimeout * 1000);
    sessionManager.setSessionDAO(sessionDAO());
    Collection<SessionListener> listeners = new ArrayList<SessionListener>();
    listeners.add(new BDSessionListener());
    sessionManager.setSessionListeners(listeners);
    return sessionManager;
}

shiro拦截器

/**
 * shiro拦截器, 设置拦截规则
 * @param securityManager  安全管理器
 * @return shiroFilterFactoryBean
 */
@Bean
ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
    ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
    shiroFilterFactoryBean.setSecurityManager(securityManager);
    shiroFilterFactoryBean.setLoginUrl("/login");
    shiroFilterFactoryBean.setSuccessUrl("/index");
    shiroFilterFactoryBean.setUnauthorizedUrl("/403");
    LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
    filterChainDefinitionMap.put("/home/**", "anon");
    filterChainDefinitionMap.put("/login","anon");
    filterChainDefinitionMap.put("/wxLogin","anon");
    filterChainDefinitionMap.put("/css/**", "anon");
    filterChainDefinitionMap.put("/js/**", "anon");
    filterChainDefinitionMap.put("/fonts/**", "anon");
    filterChainDefinitionMap.put("/img/**", "anon");
    filterChainDefinitionMap.put("/docs/**", "anon");
    filterChainDefinitionMap.put("/druid/**", "anon");
    filterChainDefinitionMap.put("/upload/**", "anon");
    filterChainDefinitionMap.put("/files/**", "anon");
    filterChainDefinitionMap.put("/logout", "logout");
    filterChainDefinitionMap.put("/", "anon");
    filterChainDefinitionMap.put("/blog", "anon");
    filterChainDefinitionMap.put("/blog/open/**", "anon");
    filterChainDefinitionMap.put("/**", "authc");
    shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
    return shiroFilterFactoryBean;
}

开启shiro aop注解支持

/**
 * 开启shiro aop注解支持。
 * 进行注解权限校验时需要使用代理方式;
 * 所以需要开启代码支持;
 *
 * @param securityManager  shiro 安全管理器
 * @return AuthorizationAttributeSourceAdvisor
 */
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
}

© 著作权归作者所有

x
粉丝 0
博文 24
码字总数 12971
作品 0
菏泽
程序员
私信 提问
SpringBoot2.0集成Shiro

项目版本: springboot2.x shiro:1.3.2 Maven配置: 写在前面的话: springboot中集成shiro相对简单,只需要两个类:一个是shiroConfig类,一个是CustonRealm类。 ShiroConfig类: 顾名思义...

MonroeCode
07/25
177
0
springboot @Configuration配置类里面使用@Value获取不到.yml配置文件属性的值

我使用的springboot 版本:1.4.1.RELEASE application.yml文件片段----------------------- spring: datasource: url: jdbc:mysql://localhost:3306/test ....... shiro: login: hashAlgorit......

jelly_oy
2017/09/11
34.8K
4
spring-boot:spring-boot2.0整合shiro

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_OOO/article/details/85058692 文章目录 shiro和security 配置 项目地址 参考文章 shiro和security 说实话...

Mr_OOO
2018/12/17
0
0
spring boot shiro anon 不生效

spring boot 集成shiro 配置了静态文件过滤以后不生效没,下面是shiroconfig代码,大佬们帮忙瞧瞧那里不对啊

莫小莫
2018/10/12
1K
0
SpringBoot+redis 实现shiro集群,共享session。亲测可用

1.序列化工具类: 2.从redis读写session的类:RedisSessionDAO,实现共享session 3.RedisCacheManager,实现redis进行缓存管理: 4.重写,配置缓存管理:ShiroCache<K, V> 5.配置redisConfig...

@林文龙
2018/01/16
2.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

001-docker的基础概念

安装 yum install docker;systemctl status docker 我们启动docker的时候,docker会帮我们创建一个docker 0的网桥 docker 基础命令 查看当前镜像 docker images 搜索镜像 docker search 执行...

侠客行之石头
43分钟前
4
0
OSChina 周六乱弹 —— 不要在领导修风扇的时候打开电扇

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Whats Up》 主唱妹子 Lina Perry 的嗓音实在太有力了,收放自如的自信才能唱出这么优秀的歌吧!#今日歌曲推荐# 《Whats Up》-...

小小编辑
今天
26
1
SpringBoot集成Elasticsearch并进行增删改查操作

一、创建工程 使用IntelliJ创建SpringBoot工程 SpringBoot版本为2.0.4 ElasticSearch为5.6.10 删掉蓝框中的文件(如上) 最后我们的目录结构(如下) 下面pom文件主要修改的是把spring boot从Int...

一字见心
今天
5
0
聊聊rocketmq的TransientStorePool

序 本文主要研究一下rocketmq的TransientStorePool TransientStorePool rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java publi......

go4it
昨天
6
0
笔记

场外借贷, 质押 ,托管, 永续合约. 场外借贷,n签合同. 新功能 证券交易组负责中信证券机构及个人投资交易相关系统,服务机构及个人投资客户, 涉及到两融、期权、 期货、做市等境内境外创新业...

MtrS
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部