`
jie66989
  • 浏览: 254266 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

spring security3用户登录相关

 
阅读更多
package com.security;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.AuthenticationFailureHandler;

public class OnLoginFaild implements AuthenticationFailureHandler {

	@Override
	public void onAuthenticationFailure(HttpServletRequest request,
			HttpServletResponse response, AuthenticationException exception)
			throws IOException, ServletException {
		String errorMSG=exception.getMessage();//User is disabled
		//Bad credentials
		System.out.println("errorMSG:"+exception.getMessage());
		if(!("".equals(errorMSG)))response.sendRedirect(request.getContextPath()+"/others_handler/login_faild/"+errorMSG);
	}
}



spring-security.xml配置中的修改
<http pattern="/login.jsp" security="none"/>
    <http access-denied-page="/others_handler/no_power_access"><!-- 当访问被拒绝时,会转到403.jsp -->
		<form-login login-page="/login.jsp"
			authentication-failure-handler-ref="onLoginFaild"
			authentication-failure-url="/others_handler/login_faild/*"
			default-target-url="/others_handler/login_success" /><!-- 登录成功跳转到index.jsp -->
		<logout logout-success-url="/login.jsp" />
		<custom-filter before="FILTER_SECURITY_INTERCEPTOR" ref="myFilter" />
	</http>

以上配置中authentication-failure-handler-ref="onLoginFaild"
表示登录失败时候跳转到anLoginFaild这个bean中

<http pattern="/login.jsp" security="none"/>这个配置当请求/login.jsp时,security不会去拦截,也就不过org.springframework.security.access.intercept.AbstractSecurityInterceptor
拦截器,所以在/login.jsp页面用org.springframework.security.core.context.SecurityContextHolder.getContext().getAuthentication()
也就获得不了用户信息


分享到:
评论

相关推荐

    Spring Security 3多用户登录实现一

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

    Spring Security 3用户登录实现之十 用户切换

    在"Spring Security 3用户登录实现之十 用户切换"这个主题中,我们将探讨如何在Spring Security框架下实现在应用中切换不同用户的功能。 首先,Spring Security的核心在于它的安全拦截机制,即`Filter Security ...

    Spring Security 3多用户登录实现之九 基于持久化存储的自动登录

    在“Spring Security 3多用户登录实现之九 基于持久化存储的自动登录”这一主题中,我们将探讨如何利用Spring Security来实现多用户登录系统,并通过持久化存储来支持用户的自动登录功能。在这个过程中,我们会涉及...

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

    SpringBoot+SpringSecurity处理Ajax登录请求问题 ...使用SpringBoot+SpringSecurity处理Ajax登录请求问题需要我们了解SpringBoot、SpringSecurity、MyBatis等技术框架,并掌握相关的配置和实现细节。

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

    2. **配置Spring Security**:我们需要在Spring Cloud Gateway项目中引入Spring Security依赖,并配置相关的安全配置类。这包括定义认证和授权的规则,例如基于JWT(JSON Web Tokens)的认证,或者基于OAuth2的授权...

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

    在"Spring Security 3 多页面登录 小秘密小运气"这个主题中,我们可以深入探讨Spring Security 3如何支持多个登录页面以及其中可能涉及的一些技巧和策略。 首先,Spring Security的核心功能包括身份验证、授权、...

    spring security 3 登录 退出 认证 最少配置

    应用中涉及到安全认证,目前项目有独立的统一认证网关,所以登录时只需要将安全认证网关的认证后信息塞到spring security中,由security3来管理用户的权限设置。目前项目由spring security2升级到spring security3。...

    Spring Security 3多用户登录实现之七 用户验证失败处理改进

    在"Spring Security 3多用户登录实现之七 用户验证失败处理改进"这个主题中,我们将探讨如何优化Spring Security的用户验证流程,以提高用户体验和系统安全性。 1. **用户验证流程**: Spring Security的认证过程...

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

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

    spring-security多登录页面配置

    本文将详细介绍如何在Spring Security框架下配置多登录页面,包括前台与后台用户的分开登录界面,以及注销登录后返回到不同的页面等功能。 #### 一、Spring Security简介 Spring Security是Spring家族中的一个子...

    spring security3 中文版本

    - `CAS-spring-security-cas-client.jar`:支持 CAS 协议的单点登录功能。 - `OpenID-spring-security-openid.jar`:支持 OpenID 身份验证。 - **获得源代码**:可以从 GitHub 或 Maven 仓库获取 Spring Security ...

    Spring Security 3多用户登录实现之十一 退出

    在Spring Security 3中,实现多用户登录功能是构建安全Web应用的重要环节。退出功能则允许用户安全地结束他们的会话,清除相关的会话数据,以保护用户的隐私和系统的安全性。 在Spring Security中,退出流程通常是...

    Spring Security in Action

    SecurityContext 是 Spring Security 中的一个重要概念,表示当前用户的安全上下文。SecurityContext 中包含用户的身份信息、权限信息等。SecurityContext 是通过 SecurityContextHolder 实现的。 五、Spring ...

    利用spring security控制同一个用户只能一次登陆

    标题中的“利用Spring Security控制同一个用户只能一次登录”是指在基于Spring Security的Web应用程序中实现单点登录(Single Sign-On, SSO)的功能,确保同一时间只有一个设备或浏览器会话可以登录同一用户的账户。...

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

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

    Spring Security 3.pdf

    Spring Security 3提供了“记住我”服务,允许用户在关闭浏览器后仍保持登录状态。这通过在用户认证成功时生成一个持久化的令牌来实现。 五、CSRF保护 为了防止跨站请求伪造(CSRF)攻击,Spring Security 3引入了...

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    本项目结合了SpringBoot、SpringSecurity以及JPA(Java Persistence API),实现了用户角色权限的登录认证功能。以下是关于这些技术及实现过程的详细讲解。 1. **SpringBoot**:SpringBoot简化了Spring应用的初始...

    Spring Security 资料合集

    这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...

    spring security 3 demos

    在Spring Security 3中,你可以看到如何配置和使用Remember-Me服务,以便为用户提供更加便捷的登录体验。 7. **集成其他Spring组件**:Spring Security 可以与Spring MVC、Spring Data等其他Spring组件无缝集成。...

Global site tag (gtag.js) - Google Analytics