`
intolong
  • 浏览: 7421 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[原创]Spring Security的登录后续处理方法

阅读更多
方法一:
1) 定义登录的default-target-url,注意always-use-default-target必须设置为true,否则default-target-url可能根本走不到。
<form-login login-processing-url="/jalenLogin" login-page="/login.htm" default-target-url="/afterLogin.htm" authentication-failure-url="/login-error-true.htm" always-use-default-target="true" />


2) 对于定义的default-target-url,实现对应的action:
@Results( { @Result(name = "success", value = "/", type = ServletDispatcherResult.class) }) ervletDispatcherResult.class) }) 
public class AfterLoginAction{
   public String execute() throws Exception {
      // login后续的处理逻辑 
       return SUCCESS;
   } 
}


方法一用户使用性上有点差(记不住用户原来访问的页面)。

方法二:复杂度稍微高些
1) 自定义自己的AuthenticationProcessingFilter,替换掉系统设置的:
public class JalenAuthenticationProcessingFilter extends AuthenticationProcessingFilter { 
    protected void onSuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult) throws IOException { 
        //后续处理逻辑放在这里 
    } 
} 


2) 配置该filter
    <authentication-manager alias="authenticationManager" />
    <beans:bean class="jalen.jalenweb.web.filter.JalenAuthenticationProcessingFilter"> 
       <custom-filter position="AUTHENTICATION_PROCESSING_FILTER" /> 
       <beans:property name="authenticationManager" ref="authenticationManager" /> 
       <beans:property name="filterProcessesUrl" value="/jalenLogin" /> 
       <beans:property name="defaultTargetUrl" value="/" /> 
       <beans:property name="authenticationFailureUrl" value="/login-error-true.htm" /> 
    </beans:bean> 


3) 关闭auto-config,继承过来的filter和原filter有相同的order,因此会冲突。同时删除form-login这个element,这样将不会创建原filter。
auto-config="false"


4) 设置filter entry point
    entry-point-ref="authenticationProcessingFilterEntryPoint" 

 
    <beans:bean id="authenticationProcessingFilterEntryPoint" class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint"> 
       <beans:property name="loginFormUrl" value="/login.htm" /> 
    </beans:bean> 

分享到:
评论
1 楼 talangniao 2009-01-20  
怎样实现多窗口登陆
比如后台一个用户表,论坛有用户注册登陆,这样用户可以登陆到不同的页面去
怎样使用security实现?

相关推荐

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    SpringBoot+SpringSecurity处理Ajax登录请求问题 SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 ...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...

    自定义Spring Security的身份验证失败处理方法

    自定义Spring Security的身份验证失败处理方法 在 Spring Security 中,身份验证失败处理方法是一个非常重要的组件,它能够帮助我们处理身份验证失败的情况。然而,默认的身份验证失败处理方法并不总是能够满足我们...

    Spring Security OAuth2集成短信验证码登录以及第三方登录

    在实现集成登录认证组件时,我们需要了解OAuth2.0认证体系、SpringBoot、SpringSecurity以及Spring Cloud等相关知识。同时,我们还需要了解如何定义拦截器、如何在拦截的通知进行预处理、如何在UserDetailService....

    spring security 完整项目实例

    登录功能是Spring Security的基础,它提供了默认的登录页面和处理机制。你可以通过配置HttpSecurity来定制登录过程,例如设置登录URL、失败URL和成功处理器。Spring Security支持基于表单的身份验证,也支持OAuth2和...

    Spring Security in Action

    Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户...

    Spring Security 资料合集

    - Spring Security 无缝集成于Spring MVC框架,可以方便地与Spring MVC的其他特性配合使用,如异常处理和模型映射。 10. **Spring Boot集成**: - 在Spring Boot项目中,Spring Security 可以通过自动配置快速...

    SpringSecurity.pdf

    入门阶段主要是了解Spring Security的基本概念和配置方法。进阶阶段需要深入学习如何定制认证和授权流程、如何集成各种认证方式以及如何在实际项目中进行应用。高级阶段则涉及框架的原理深入、性能优化、安全漏洞的...

    Spring Security 3多用户登录实现一

    **Spring Security 3 多用户登录实现详解** Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架,广泛应用于Java EE平台上的安全解决方案。在本文中,我们将深入探讨如何在Spring Security 3中实现...

    springSecurity 实现传参

    在这个场景中,我们关注的是如何使用Spring Security实现登录验证以及在登录过程中传递参数,特别是记录并返回用户登录前的页面。我们将深入探讨这个过程,并结合MySQL数据库的使用。 首先,让我们了解Spring ...

    SpringSecurity笔记,编程不良人笔记

    SpringSecurity提供`Authentication`接口,用于处理身份验证过程。 - **Authorization**: 授权是指决定用户是否有权限访问某个资源。SpringSecurity支持基于角色的访问控制(RBAC)和其他授权模型。 - **Access ...

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

    spring spring security2.5 jar

    在版本2.5时,Spring Security已经是一个成熟且功能丰富的安全框架,为开发者提供了一套强大的工具来管理用户的登录、权限控制以及会话管理。 在"spring security2.5 jar"中,包含了Spring Security框架的核心类和...

    spring security 3 多页面登录 小秘密小运气

    Spring Security是Java领域一个强大的安全框架,用于处理Web应用程序的安全性。在"Spring Security 3 多页面登录 小秘密小运气"这个主题中,我们可以深入探讨Spring Security 3如何支持多个登录页面以及其中可能涉及...

    SpringSecurity学习总结源代码

    SpringSecurity是Java开发中用于构建安全Web应用的框架,它提供了强大的身份验证、授权和访问控制功能。在本文中,我们将深入探讨SpringSecurity的核心概念、关键组件以及如何配置和使用这个框架。 首先,Spring...

    spring mvc 和spring security自定义登录

    在Spring MVC中,我们可以创建一个登录页面(如login.html),并在控制器中定义一个处理登录请求的方法。当用户提交登录表单时,Spring Security的过滤器会捕获这个请求,然后调用我们之前配置的...

    spring-security多登录页面配置

    在默认情况下,Spring Security会提供一个统一的登录页面来处理所有用户的登录请求。但在实际的应用场景中,往往需要为不同类型的用户提供个性化的登录体验,这就需要对Spring Security进行相应的配置调整。 #### ...

    spring security 4.0.0所需jar包

    - `spring-security-web-4.0.0.CI-SNAPSHOT.jar`:处理HTTP请求的安全过滤器,如CSRF防护、登录、注销、会话管理等。 3. **spring-security-config**: - `spring-security-config-4.0.0.CI-SNAPSHOT-javadoc.jar...

    spring security3 中文版本

    - **安全和 AOP 建议**:Spring Security 提供了 AOP 支持,可以用来在运行时动态地决定是否允许执行特定的方法调用。 - **安全对象和 AbstractSecurityInterceptor**:提供了抽象的安全拦截器,可以用于拦截方法...

Global site tag (gtag.js) - Google Analytics