- 浏览: 483989 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
feibabm:
楼主,想问下,我配置的这个拦截器为啥没有生效呢?import ...
spring-boot 加入拦截器Interceptor -
yhxf_ie:
项目跑步起来啊,打印完日志就 Process finished ...
spring-boot集成EasyUI和KindEditor -
yhxf_ie:
...
spring-boot集成EasyUI和KindEditor -
lihao312:
什么都不懂的孩子 写道请问一下registry.addInte ...
spring-boot 加入拦截器Interceptor -
爱you不释手:
1 、2 楼 那句的意思是加入名称为UserSecurityI ...
spring-boot 加入拦截器Interceptor
引用
项目启动后输入:http://localhost/
该项目中, 增加了对url的拦截URLPermissionsFilter,
用admin/123456,拥有index权限reports未任何权限, lance/123456尚未分配任何权限.
1.Pom依赖
<shiro.version>1.2.5</shiro.version> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.version}</version> </dependency> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> </parent>
2.Shiro配置
@Configuration public class ShiroConfig { /** * FilterRegistrationBean * @return */ @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean filterRegistration = new FilterRegistrationBean(); filterRegistration.setFilter(new DelegatingFilterProxy("shiroFilter")); filterRegistration.setEnabled(true); filterRegistration.addUrlPatterns("/*"); filterRegistration.setDispatcherTypes(DispatcherType.REQUEST); return filterRegistration; } /** * @see org.apache.shiro.spring.web.ShiroFilterFactoryBean * @return */ @Bean(name = "shiroFilter") public ShiroFilterFactoryBean shiroFilter(){ ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean(); bean.setSecurityManager(securityManager()); bean.setLoginUrl("/login"); bean.setUnauthorizedUrl("/unauthor"); Map<String, Filter>filters = Maps.newHashMap(); filters.put("perms", urlPermissionsFilter()); filters.put("anon", new AnonymousFilter()); bean.setFilters(filters); Map<String, String> chains = Maps.newHashMap(); chains.put("/login", "anon"); chains.put("/unauthor", "anon"); chains.put("/logout", "logout"); chains.put("/base/**", "anon"); chains.put("/css/**", "anon"); chains.put("/layer/**", "anon"); chains.put("/**", "authc,perms"); bean.setFilterChainDefinitionMap(chains); return bean; } /** * @see org.apache.shiro.mgt.SecurityManager * @return */ @Bean(name="securityManager") public DefaultWebSecurityManager securityManager() { DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); manager.setRealm(userRealm()); manager.setCacheManager(cacheManager()); manager.setSessionManager(defaultWebSessionManager()); return manager; } /** * @see DefaultWebSessionManager * @return */ @Bean(name="sessionManager") public DefaultWebSessionManager defaultWebSessionManager() { DefaultWebSessionManager sessionManager = new DefaultWebSessionManager(); sessionManager.setCacheManager(cacheManager()); sessionManager.setGlobalSessionTimeout(1800000); sessionManager.setDeleteInvalidSessions(true); sessionManager.setSessionValidationSchedulerEnabled(true); sessionManager.setDeleteInvalidSessions(true); return sessionManager; } /** * @see UserRealm--->AuthorizingRealm * @return */ @Bean @DependsOn(value="lifecycleBeanPostProcessor") public UserRealm userRealm() { UserRealm userRealm = new UserRealm(); userRealm.setCacheManager(cacheManager()); return userRealm; } @Bean public URLPermissionsFilter urlPermissionsFilter() { return new URLPermissionsFilter(); } @Bean public EhCacheManager cacheManager() { EhCacheManager cacheManager = new EhCacheManager(); cacheManager.setCacheManagerConfigFile("classpath:ehcache.xml"); return cacheManager; } @Bean public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() { return new LifecycleBeanPostProcessor(); } }
3.完整项目参考
https://github.com/leelance/spring-boot-all/tree/master/spring-boot-shiro
发表评论
-
Spring-boot集成Netty做websocket服务端
2017-06-21 13:47 19621spring-boot-websocket-netty-s ... -
spring-boot集成Springfox-Swagger2
2016-10-12 21:47 4873spring-boot-springfox sprin ... -
spring-boot集成Quartz
2016-10-09 20:40 13768spring-boot集成Quartz <depe ... -
spring-boot集成EasyUI和KindEditor
2016-09-25 12:12 3444spring-boot-easyui-kindeditor ... -
spring-boot集成sitemesh装饰器
2016-09-02 09:41 6903spring-boot-sitemesh, 依赖sprin ... -
spring-boot 代码生成工具
2016-08-17 10:38 4758Mybatis Auto Code Generation Ma ... -
spring-boot集成Freemarker开发
2016-07-10 11:38 211771.该demo功能 http://localhost/syst ... -
spring集成ActiveMQ, 消息提供者
2016-06-15 13:47 19901.spring集成ActiveMQ,依赖包 <de ... -
记录springmvc+ueditor1.4.3上传附件问题
2015-08-27 14:42 9225百度富文本编辑器地址:http://ueditor.baidu ... -
mvn jetty:run内存溢出解决
2014-12-08 12:22 2000maven内存溢出 apache-maven-3.1.0\b ... -
POI写入Excel下拉框[Select选项]
2014-08-14 09:45 14244记录部分方法, 操作POI POI version &l ... -
MD5,salt,SHA,PBKDF2加密
2014-06-11 23:11 15323package com.lance.utils; i ... -
设置java的JTextPane字体加粗
2014-05-16 10:14 2746package manage; import jav ... -
程序出错后,程序员给测试人员的20条高频回复
2014-02-18 22:12 843程序出错后 20. “That’ ... -
java字符全角转半角
2013-08-16 00:36 1501说明: 只为记录生活中的点点滴滴, 看到ITeye发 ... -
利用apache的poi上传excel
2013-07-22 11:34 20651.做个简单的导入excel功能, 只为记录简单demo, ... -
利用spring security控制同一个用户只能一次登陆
2013-07-18 14:04 96901.描述 最近在网上看了很多关于一个用户同时只能登陆一次问 ... -
获取System基本配置信息
2013-06-27 16:57 11851.获取基本信息 package com.foo.test ... -
java反射简单记录
2013-06-08 11:17 18271. Java 反射API的第一个主要作用是获取程序在运行 ... -
我来模仿iTeye登录(HttpClient)
2013-06-05 13:49 31751.利用HttpClient模拟iteye登录 packa ...
相关推荐
<artifactId>shiro-spring <version>1.8.0 <groupId>org.springframework.boot <artifactId>spring-boot-starter-web ``` 2. **配置Shiro**:在`application.properties`文件中,我们可以设置`Shiro`的...
总的来说,"spring-boot-shiro-demo"项目展示了如何在Spring Boot环境中利用Shiro实现动态权限管理、Session共享和单点登录,这些都是企业级应用中必备的安全特性。通过深入研究和实践这个项目,开发者可以更好地...
1. 添加依赖:在 Spring Boot 的 `pom.xml` 文件中添加 Shiro 相关的依赖库,如 `shiro-spring-boot-starter`。 2. 配置 Shiro:通过 `application.properties` 或 `application.yml` 文件配置 Shiro,包括 Realm 的...
spring-boot-examples-master示例程序,与各种框架集成,包括: dockercompose-springboot-mysql-nginx spring-boot-actuator spring-boot-banner spring-boot-docker spring-boot-elasticsearch spring-boot-...
Spring Boot 集成各种框架 使用案例(spring-boot-rabbitmq、spring-boot-mail、spring-boot-thymeleaf、spring-boot-shiro)
- [spring-boot-shiro](https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-shiro):Spring Boot 整合 Shiro Rbac 示例 - [spring-boot-file-upload]...
在这个名为 "spring-boot-examples.zip" 的压缩包中,包含了多个 Spring Boot 的示例项目,如 spring-boot-shiro、spring-boot-redis、spring-boot-web 和 spring-boot-rabbitmq,这些都是 Spring Boot 集成其他流行...
<artifactId>shiro-spring-boot-web-starter <version>1.7.1 ``` 2. **配置 Shiro** 在 Spring Boot 的配置文件 `application.properties` 或 `application.yml` 中,我们可以配置 Shiro 的相关设置,如 ...
在本项目"整合mybatis-spring-boot-2.0-shiro-thymeleaf"中,开发者提供了一个简短但全面的教程,适用于那些刚开始接触这些技术的初学者。这个项目结合了四个关键组件:MyBatis、Spring Boot、Shiro以及Thymeleaf,...
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis...
Jeecg-boot集成了许多流行的技术,如MyBatis Plus、Shiro、JWT等,为开发者构建企业级应用提供了便捷。 接下来,我们来看Activiti6。Activiti6是一个轻量级的流程引擎,遵循BPMN 2.0标准,支持流程建模、执行和监控...
通过以上步骤,我们可以构建出一个集成了 MyBatis-Plus 数据操作、Spring Boot 快速开发和 Shiro 权限管理的高效后台系统。这样的系统不仅易于维护,还能提供稳定和安全的服务。在实际开发中,我们还需要关注性能...
在Spring Boot应用中集成Shiro,可以实现用户身份验证、角色授权等功能,提供了一套简洁的API来处理安全相关的逻辑。 **3. JWT** JWT是一种轻量级的身份验证标准,它允许服务器生成一个包含用户信息的令牌,这个...
开发者需要对Java、Spring Boot以及前端开发有一定的了解,以便于理解和执行集成步骤。 3. **集成工具**:在集成过程中可能用到的工具有Navicat(用于数据库管理),以及Git(用于获取源码)等。 4. **集成所需...
Apache Shiro与Spring Boot集成 GitHub: : 用法 首先安装到本地仓库。 双向v2.0下为2.0.0版本,主要将Spring Boot升级到2.0.4.RELEASE,Shiro升级到1.4.0 mvn clean install pom.xml < groupId>...
在SpringBoot项目中集成Shiro,可以充分利用其提供的安全功能,实现用户登录、权限控制等功能。 Shiro的核心概念包括Subject(主体)、Realm(领域)、Session管理和Cryptography(加密)等。Subject代表了系统中的...
综上所述,这个项目结合了 Spring Boot、Shiro、Mybatis、FTP 文件上传和 Thymeleaf 等技术,构建了一个包含用户认证、数据库操作、文件上传以及动态网页展示的完整 Web 应用。通过这些组件的组合,可以实现一个高效...
Spring Boot 集成 Shiro 和 CAS 本文将详细介绍 Spring Boot 集成 Shiro 和 CAS 的知识点,帮助读者了解 Shiro 和 CAS 的概念、使用方法,以及它们在 Spring Boot 中的集成方式。 Shiro 介绍 Shiro 是一个开源的 ...
简介该项目主要利用Spring Boot的自动化配置特性来实现快速的将Shiro集成到SpringBoot应用...增加11种过滤器过滤规则配置功能默认使用开源库org.crazycake:shiro-redis:3.2.2集成redis增加shiro的redis独立配置功能,可
《Spring Boot整合Shiro、JWT与Redis实现Token自动刷新详解》 在现代Web开发中,安全性和用户体验是两个至关重要的方面。Spring Boot以其强大的功能和便捷的开发体验,已经成为Java后端开发的首选框架。而Shiro和...