- 浏览: 267334 次
文章分类
- 全部博客 (96)
- 经验 (53)
- 小制作 (6)
- 人生 (1)
- 技术选型 (2)
- 技术学习 (2)
- memo (1)
- 系统架构 (2)
- 经验 Windows (3)
- HP-UX (1)
- Ubuntu (1)
- java7 (1)
- tomcat7 (1)
- linux (2)
- AIX (1)
- mysql (1)
- intellij (2)
- eclipse (1)
- HTML (1)
- spring (4)
- shiro (1)
- java (6)
- jetty (1)
- jackson (1)
- javascript (1)
- spring-boot (2)
- rust (1)
- tomcat (1)
- spring-cloud (1)
- ffmpeg (1)
最新评论
-
安静听歌:
你好,请问你是如何控制他们的启动顺序的呢,手动控制吗?
spring cloud 配置中心和服务注册中心启动顺序 -
dwangel:
<div class="quote_title ...
spring mvc中 shiro logout 配置方式 -
zjturn:
想请教个问题:第二种方法,首先配置logout的bean,然后 ...
spring mvc中 shiro logout 配置方式 -
dwangel:
czltx224 写道加个参数就OK 了
<proper ...
Hessian调用出错 -
czltx224:
加个参数就OK 了<property name=&quo ...
Hessian调用出错
( 我用的是spring mvc下的shiro集成 这点强调一下
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
)
有两种方式实现logout
1. 普通的action中 实现自己的logout方法,取到Subject,然后logout
这种需要在ShiroFilterFactoryBean 中配置 filterChainDefinitions
对应的action的url为anon
<property name="filterChainDefinitions">
<value>
# some example chain definitions:
/index.htm = anon
/logout = anon
/unauthed = anon
/console/** = anon
/css/** = anon
/js/** = anon
/lib/** = anon
/admin/** = authc, roles[admin]
/docs/** = authc, perms[document:read]
/** = authc
# more URL-to-FilterChain definitions here
</value>
2. 使用shiro提供的logout filter
需要定义 相应的bean
<bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter">
<property name="redirectUrl" value="/loginform" />
</bean>
然后将相应的url filter配置为logout如下
<property name="filterChainDefinitions">
<value>
# some example chain definitions:
/index.htm = anon
/logout = logout
/unauthed = anon
/console/** = anon
/css/** = anon
/js/** = anon
/lib/** = anon
/admin/** = authc, roles[admin]
/docs/** = authc, perms[document:read]
/** = authc
# more URL-to-FilterChain definitions here
</value>
首先,我用的是spring mvc下的shiro集成,标题里写了spring,没说清楚。我等下加上。
shiro和spring的集成中,提供了ShiroFilterFactoryBean 进行的shiro初始化。
这样,filter就是spring配置可控的了。
其次,我写的第一步是在spring配置中声明LogoutFilter类的bean,
id必须为logout,然后才能被引用。
如果你是直接用shiro的话,就要直接使用shiro的配置了。
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
)
有两种方式实现logout
1. 普通的action中 实现自己的logout方法,取到Subject,然后logout
这种需要在ShiroFilterFactoryBean 中配置 filterChainDefinitions
对应的action的url为anon
<property name="filterChainDefinitions">
<value>
# some example chain definitions:
/index.htm = anon
/logout = anon
/unauthed = anon
/console/** = anon
/css/** = anon
/js/** = anon
/lib/** = anon
/admin/** = authc, roles[admin]
/docs/** = authc, perms[document:read]
/** = authc
# more URL-to-FilterChain definitions here
</value>
2. 使用shiro提供的logout filter
需要定义 相应的bean
<bean id="logout" class="org.apache.shiro.web.filter.authc.LogoutFilter">
<property name="redirectUrl" value="/loginform" />
</bean>
然后将相应的url filter配置为logout如下
<property name="filterChainDefinitions">
<value>
# some example chain definitions:
/index.htm = anon
/logout = logout
/unauthed = anon
/console/** = anon
/css/** = anon
/js/** = anon
/lib/** = anon
/admin/** = authc, roles[admin]
/docs/** = authc, perms[document:read]
/** = authc
# more URL-to-FilterChain definitions here
</value>
评论
2 楼
dwangel
2014-01-15
zjturn 写道
想请教个问题:第二种方法,首先配置logout的bean,然后在“filterChainDefinitions”中引用该bean,但是我debug发现,即使定义了logout,进入的还是默认的 LogoutFilter类,注入的redirectUrl还是默认的“/”,请问该如何解决?谢谢!
首先,我用的是spring mvc下的shiro集成,标题里写了spring,没说清楚。我等下加上。
shiro和spring的集成中,提供了ShiroFilterFactoryBean 进行的shiro初始化。
这样,filter就是spring配置可控的了。
其次,我写的第一步是在spring配置中声明LogoutFilter类的bean,
id必须为logout,然后才能被引用。
如果你是直接用shiro的话,就要直接使用shiro的配置了。
1 楼
zjturn
2014-01-14
想请教个问题:第二种方法,首先配置logout的bean,然后在“filterChainDefinitions”中引用该bean,但是我debug发现,即使定义了logout,进入的还是默认的 LogoutFilter类,注入的redirectUrl还是默认的“/”,请问该如何解决?谢谢!
发表评论
-
ai文件到swf文件
2019-05-28 23:03 740朋友有个需求,把 ai 文件里的图片 替换 一个 swf 里图 ... -
maven mirror 设置错导致无法访问私有库
2018-04-04 12:35 842最近为了提高开发效率,整理了一些spring boot的自注册 ... -
jquery 1.11.0 post 在ie8 上不工作
2017-10-21 13:52 660帮朋友看一个问题 $.post在ie8 下不工作, 查了半天 ... -
Java 获取一个机器的本地地址
2017-03-27 10:18 857public class IpDetector { ... -
mongodb 的 inplace update
2016-12-20 15:05 854嵌套对象为 hash对象时: db.getCollectio ... -
配置Mac OS 下UI程序环境变量的方法
2016-10-20 19:51 794找了半天,还是stackoverflow 靠谱 http:/ ... -
2 spring webapplicationinitializers detected on classpath
2016-10-18 14:31 6663最近在学用 spring boot 做项目,碰到一个问题,to ... -
网文阅读 杂谈
2016-09-03 02:44 469最近才看到王银的《编程的宗派》 文章后面有不少评论表示膜拜的 ... -
去掉shiro登录时url里的JSESSIONID
2016-02-05 00:02 6806经过查找论坛和分析源码,确认了是在ShiroHttpServl ... -
使用AOP把spring mvc controller方法的参数输出到日志
2015-11-18 16:40 6728使用AOP把spring mvc controller方法的参 ... -
命令行装android idk
2015-05-22 17:16 922先列出sdk 和相应 编号(这里用的是国内代理,现在有时候可以 ... -
springmvc的messageConvert是按照method的参数去启动的
2015-04-28 16:39 921最近在研究怎么在springmvc中集成使用protobuf。 ... -
用type属性避免点击button标签元素导致form提交
2015-01-19 15:52 487如果在form里使用 <button> 标签 会导 ... -
Intellij UI designer 经验x1
2014-09-09 14:36 786使用Intellij的UI designer 创建了一个for ... -
AIX 程序引用库时出ld: 0706-006的一种情况的解决
2014-03-31 14:35 2271公司的产品涉及到AIX 在CI集成时,一个模块B怎么也连不上另 ... -
移动jar到指定目录,原地建符号链接的bash指令
2014-03-10 11:21 773find . -name "*.jar" ... -
java7,jsp的el表达式使用interface无法被解析问题
2014-03-05 10:01 818使用的jdk是oracle JDK 1.7.0_51 tomc ... -
解决locale: Cannot set LC_CTYPE
2013-11-28 18:10 2120执行 sudo /usr/share/locales/inst ... -
Linux下tar包中长文件名在HP unix下丢失问题
2013-11-28 14:07 2627公司产品有个组件需要在HP unix下编译。 用了CI做集成 ... -
依赖注入的好处
2013-11-15 10:15 9311好处 将被依赖类的创建代码从 依赖类中移出,不用显式的写n ...
相关推荐
在IT行业中,Spring MVC和Apache Shiro是两个非常重要的框架,它们分别负责Web应用程序的MVC(模型-视图-控制器)架构和安全管理。本文将详细介绍如何整合Spring MVC与Shiro进行用户登录、注销以及权限验证的实例。 ...
- 配置Spring MVC的拦截器,将Shiro的拦截器加入到拦截器链中。 6. **登录和注销** - 创建登录和注销的Controller方法,调用Shiro的`Subject.login`和`Subject.logout`方法进行用户登录和退出。 7. **Session...
4. 配置Spring MVC:在Spring的配置文件中,定义ShiroFilter,设置过滤器链和对应的URL拦截规则。 5. 安全注解:在Controller的方法上使用Shiro的注解如@RequiresAuthentication、@RequiresRoles和@...
- Shiro的异常如`UnauthorizedException`、`UnknownAccountException`等,需在Spring MVC中捕获并进行自定义错误页面跳转。 9. **Web安全配置** - 在web.xml中配置Shiro的Filter,如`DelegatingFilterProxy`代理`...
3. **配置Spring Security Filter**:在Spring的web.xml文件中,配置Shiro的Filter链,包括LoginFilter、AuthcFilter等,确保在用户访问受保护资源时,Shiro能正确拦截并处理请求。 4. **整合Spring MVC**:通过...
接下来,我们看 `springmvc.xml` 文件,这是 Spring MVC 的配置文件,通常在这里配置 Shiro 的 Realm,即认证和授权的实现。Realm 是 Shiro 与应用数据源交互的桥梁,你可以自定义 Realm 类,继承 `AuthorizingRealm...
Shiro与Spring Web项目的整合,首先需要在Spring项目中整合Shiro。整合的过程可以分为以下两个关键步骤: #### 1.1 添加Shiro依赖的jar包 为了将Shiro引入Spring项目,需要在项目中添加Shiro的依赖jar包。在项目的...
3. **创建Shiro Filter**:在Spring MVC的配置文件中,配置Shiro Filter,将它添加到过滤链中。例如,定义`filterChainDefinitionMap`,指定哪些URL需要经过哪些过滤器。 ```xml <bean id="shiroFilter" class="org...
接着,在`WebSecurityConfig`类中,将Shiro的Filter注册到Spring MVC中。 ```java @Configuration public class ShiroConfig { // 配置 Realm @Bean public MyRealm myRealm() { return new MyRealm(); } //...
接下来,我们需要在 Spring MVC 的配置中添加 Shiro 的过滤器,以拦截请求并执行相应的安全逻辑: ```xml <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> /login = ...
最后,不要忘记在Spring Boot的主配置类上启用Spring MVC,以便Shiro过滤器链可以生效: ```java @SpringBootApplication @EnableWebMvc public class Application { public static void main(String[] args) { ...
- **配置 Shiro Filter**:在 Spring 配置文件中定义 ShiroFilter,配置过滤链,设置拦截哪些请求以及如何处理。 - **创建 Realm**:实现自定义 Realm 类,对接数据源,处理认证和授权逻辑。 - **Spring Bean 注入**...
同时,配置DelegatingFilterProxy代理Shiro的Filter,使其能够在Spring MVC中正常工作。 5. **登录逻辑**:在控制器层编写登录接口,接收用户提交的登录信息,然后通过Shiro的Subject进行认证。如果认证成功,...
在 Spring MVC 中集成 Shiro,我们需要配置 SecurityManager,并将 Realm 连接到 SecurityManager,以处理认证和授权。 1. **配置 SecurityManager** 在 Spring 的配置文件中,我们创建一个 bean 来实例化 ...
这个示例项目中的"MySSM"可能包含了所有必要的配置文件、源代码和测试文件,包括Spring配置、Shiro配置、Realm实现、Controller代码、以及可能的测试类。通过阅读和分析这些文件,你可以更深入地了解如何在实际项目...
SSM是指Spring、Spring MVC和MyBatis三个开源框架的结合,而Shiro是Apache组织提供的一个强大且易用的Java安全框架。 Spring是一个全面的后端开发框架,它提供依赖注入(DI)和面向切面编程(AOP),用于简化应用的...
本文将详细介绍如何在Spring MVC项目中集成并使用Apache Shiro进行身份验证和授权。 #### Apache Shiro简介 Apache Shiro 是一个强大且易用的Java安全框架,可以提供认证、授权、加密和会话管理功能,同时具备良好...
然后,我们需要在Spring MVC的配置文件中,设置过滤器链来启动Shiro的功能。Shiro提供了多种内置过滤器,如authc(认证过滤器)、perms(权限过滤器)等,可以根据需求进行配置: ```xml <bean id="shiroFilter" ...
4. **SpringMVC配置**:在Spring的配置文件中,配置ShiroFilter,指定过滤器链,定义哪些URL需要经过Shiro的拦截。同时,需要配置Shiro的Web支持,如`DelegatingFilterProxy`,以让Spring管理Shiro的Filter。 5. **...