`
dwangel
  • 浏览: 267334 次
社区版块
存档分类
最新评论

spring mvc中 shiro logout 配置方式

 
阅读更多
( 我用的是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>
分享到:
评论
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还是默认的“/”,请问该如何解决?谢谢!

相关推荐

    spring mvc整合shiro登录 权限验证实例下载

    在IT行业中,Spring MVC和Apache Shiro是两个非常重要的框架,它们分别负责Web应用程序的MVC(模型-视图-控制器)架构和安全管理。本文将详细介绍如何整合Spring MVC与Shiro进行用户登录、注销以及权限验证的实例。 ...

    shiro+spirngmvc 验证 IntelliJ IDEA

    - 配置Spring MVC的拦截器,将Shiro的拦截器加入到拦截器链中。 6. **登录和注销** - 创建登录和注销的Controller方法,调用Shiro的`Subject.login`和`Subject.logout`方法进行用户登录和退出。 7. **Session...

    spring-shiro:Spring Mvc 搭配shiro Demo

    4. 配置Spring MVC:在Spring的配置文件中,定义ShiroFilter,设置过滤器链和对应的URL拦截规则。 5. 安全注解:在Controller的方法上使用Shiro的注解如@RequiresAuthentication、@RequiresRoles和@...

    shiro spring mvc权限管理

    - Shiro的异常如`UnauthorizedException`、`UnknownAccountException`等,需在Spring MVC中捕获并进行自定义错误页面跳转。 9. **Web安全配置** - 在web.xml中配置Shiro的Filter,如`DelegatingFilterProxy`代理`...

    spring+shiro简单整合

    3. **配置Spring Security Filter**:在Spring的web.xml文件中,配置Shiro的Filter链,包括LoginFilter、AuthcFilter等,确保在用户访问受保护资源时,Shiro能正确拦截并处理请求。 4. **整合Spring MVC**:通过...

    shiro 配置文件

    接下来,我们看 `springmvc.xml` 文件,这是 Spring MVC 的配置文件,通常在这里配置 Shiro 的 Realm,即认证和授权的实现。Realm 是 Shiro 与应用数据源交互的桥梁,你可以自定义 Realm 类,继承 `AuthorizingRealm...

    shiro与spring web 项目集成.pdf

    Shiro与Spring Web项目的整合,首先需要在Spring项目中整合Shiro。整合的过程可以分为以下两个关键步骤: #### 1.1 添加Shiro依赖的jar包 为了将Shiro引入Spring项目,需要在项目中添加Shiro的依赖jar包。在项目的...

    shiro+springmvc整合

    3. **创建Shiro Filter**:在Spring MVC的配置文件中,配置Shiro Filter,将它添加到过滤链中。例如,定义`filterChainDefinitionMap`,指定哪些URL需要经过哪些过滤器。 ```xml &lt;bean id="shiroFilter" class="org...

    Spring Boot整合Shiro搭建权限管理系统 (2).docx

    接着,在`WebSecurityConfig`类中,将Shiro的Filter注册到Spring MVC中。 ```java @Configuration public class ShiroConfig { // 配置 Realm @Bean public MyRealm myRealm() { return new MyRealm(); } //...

    shiro spring简单应用

    接下来,我们需要在 Spring MVC 的配置中添加 Shiro 的过滤器,以拦截请求并执行相应的安全逻辑: ```xml &lt;bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"&gt; /login = ...

    spring boot 集成shiro的配置方法

    最后,不要忘记在Spring Boot的主配置类上启用Spring MVC,以便Shiro过滤器链可以生效: ```java @SpringBootApplication @EnableWebMvc public class Application { public static void main(String[] args) { ...

    shiro整合spring

    - **配置 Shiro Filter**:在 Spring 配置文件中定义 ShiroFilter,配置过滤链,设置拦截哪些请求以及如何处理。 - **创建 Realm**:实现自定义 Realm 类,对接数据源,处理认证和授权逻辑。 - **Spring Bean 注入**...

    shiro小案例

    同时,配置DelegatingFilterProxy代理Shiro的Filter,使其能够在Spring MVC中正常工作。 5. **登录逻辑**:在控制器层编写登录接口,接收用户提交的登录信息,然后通过Shiro的Subject进行认证。如果认证成功,...

    shiro在springmvc里面的集成使用

    在 Spring MVC 中集成 Shiro,我们需要配置 SecurityManager,并将 Realm 连接到 SecurityManager,以处理认证和授权。 1. **配置 SecurityManager** 在 Spring 的配置文件中,我们创建一个 bean 来实例化 ...

    SSM框架搭建的一个简单的Shiro示例

    这个示例项目中的"MySSM"可能包含了所有必要的配置文件、源代码和测试文件,包括Spring配置、Shiro配置、Realm实现、Controller代码、以及可能的测试类。通过阅读和分析这些文件,你可以更深入地了解如何在实际项目...

    SSM+Shiro权限控制

    SSM是指Spring、Spring MVC和MyBatis三个开源框架的结合,而Shiro是Apache组织提供的一个强大且易用的Java安全框架。 Spring是一个全面的后端开发框架,它提供依赖注入(DI)和面向切面编程(AOP),用于简化应用的...

    springmvc shiro使用

    本文将详细介绍如何在Spring MVC项目中集成并使用Apache Shiro进行身份验证和授权。 #### Apache Shiro简介 Apache Shiro 是一个强大且易用的Java安全框架,可以提供认证、授权、加密和会话管理功能,同时具备良好...

    SSM整合shiro实现角色权限

    然后,我们需要在Spring MVC的配置文件中,设置过滤器链来启动Shiro的功能。Shiro提供了多种内置过滤器,如authc(认证过滤器)、perms(权限过滤器)等,可以根据需求进行配置: ```xml &lt;bean id="shiroFilter" ...

    SpringMVC整合Shiro的完整示例代码下载

    4. **SpringMVC配置**:在Spring的配置文件中,配置ShiroFilter,指定过滤器链,定义哪些URL需要经过Shiro的拦截。同时,需要配置Shiro的Web支持,如`DelegatingFilterProxy`,以让Spring管理Shiro的Filter。 5. **...

Global site tag (gtag.js) - Google Analytics