安全管理器设置

/*** 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;
}

转载于:https://my.oschina.net/u/2555967/blog/2961836

shiroConfig配置相关推荐

  1. Shiro学习(3)shiroConfig配置类

    一.Shiro配置类创建流程 创建shiro配置函数ShiroConfig可以分为四大块: 1.创建realm 2.创建安全管理器 3.配置shiro过滤器工厂 4.开启对shiro注解的支持 1.创 ...

  2. shiroConfig配置中要注意的事项

    1.如果ShiroFilterFactoryBean对应方法没有加@bean注解,就不会注入到ioc容器中,所有的请求都会被重定向到login.jsp页面 加上@Bean注解就好了 2.Conside ...

  3. SpringBoot整合Shiro安全框架完整实现

    目录 一.环境搭建 1. 导入shiro-spring依赖 2. 编写首页及其controller 3. 编写shiro配置类 二.Shiro实现登录拦截 1. 编写页面及其controller 2. ...

  4. SpringBoot 整合 Shiro 实现动态权限加载更新+ Session 共享 + 单点登录

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源: juejin.im/post/5d087d60518825 ...

  5. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  6. shiro放行_Shiro在Spring Boot中的实践

    在Web应用中安全问题同样不可忽视,所以Spring Framework体系中也为此提供了解决方案--Spring Security.但是由于其较为复杂,新人上手较为困难.所以这里我们来介绍另外一个简 ...

  7. springboot+shiro+redis项目整合

    介绍: Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最 ...

  8. springboot----shiro集成

    springboot中集成shiro相对简单,只需要两个类:一个是shiroConfig类,一个是CustonRealm类. ShiroConfig类: 顾名思义就是对shiro的一些配置,相对于之前 ...

  9. SpringBoot整合Shiro实现登录认证和授权CHCache

    文章目录 一. springboot实现普通登录 1 添加依赖 2 编写配置文件 3 新建实体类和mapper 4 编写业务层代码 5 编写控制器 6 编写启动类 7 编写登录页面和主页面 二. sp ...

最新文章

  1. 前方高能!金三银四Java高级工程师面试题整理
  2. 没有找到mfc100.dll
  3. 字符串的前缀与后缀和简单示例程序win32版
  4. 【DIY】DIYarduino温湿度计视频图文教程
  5. windows2003添加普通用户的远程桌面权限
  6. Log4net核心组成
  7. 命令启动jar包_java项目打jar包,一句命令搞定
  8. 为什么你总感觉情绪低落心情颓废?
  9. 几种可以不用过于投入精力去交往的人脉
  10. python多轴图_Python多子图布局与坐标轴科学计算方法,python,及,计数法
  11. 【oracle ocp知识点一】
  12. PHP判断ip地址是否合法
  13. MongoDB联合查询 -摘自网络
  14. [VSX.002]VS开发环境模型
  15. 几种常考的面试题类型
  16. layim之绑定未读消息数量
  17. Linux安装zabbix4
  18. 西部数据蓝盘 绿盘和黑盘 到底有什么区别?
  19. 2018年总结:他的一年
  20. 【Ubuntu系列】Ubuntu20.04系统下3060显卡驱动安装记录

热门文章

  1. 9.1_[Java 字符串]-复杂的字符串处理
  2. 【老生谈算法】matlab实现制动力优化源码——制动力优化
  3. .net mvc C#生成网页快照
  4. 函数极限存在准则:夹逼准则
  5. 标郎计算机关机,DIY自己的电脑关机,让你与众不同
  6. 第7代IGBT模块 FF900R12ME7PB11BPSA1 900A
  7. wireshark过滤捕获某些网站
  8. 解析html网页脆炸鸡,一种卡兹脆鸡扒生产方法与流程
  9. Security ❀ JavaScript Attacks 前端攻击
  10. 使用itext7在PDF文件中的指定文字位置添加电子签名图片技术记录