`
zeng7960983
  • 浏览: 43971 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

spring security 登录页自己处理

阅读更多
项目中的ss中登录一般是有ss实现 我们只要UserDetailsService接口重写其中的方法loadUserByUsername方法就行了.
  但是现在问题出现了 如果我在登录的时候想根据当前的登录人的不同角色来实现不同的跳转 还有就是往session放入其他的信息呢..这个时候的登录最好是有我们自己处理.
  我们在action中只需要把登录验证后的Authentication信息写入SecurityContext中研究了下ss源码终于找得到解决方案
//获得所有的角色信息
GrantedAuthority[] grantedAuths = obtainGrantedAuthorities(admin);
boolean accountNonExpired = true;
boolean credentialsNonExpired = true;
boolean accountNonLocked = true;
org.springframework.security.userdetails.User userdetail = new org.springframework.security.userdetails.User(
userName, admin.getPassword(),true,
accountNonExpired, credentialsNonExpired, accountNonLocked,
grantedAuths);   
        HttpServletRequest request = ServletActionContext.getRequest();   
//设置登录请求信息 如果sessionid, ip
        WebAuthenticationDetails webdetails=new WebAuthenticationDetails(request);
//创建Ahthentication对象
        UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(admin.getUserName(),
                admin.getPassword(),userdetail.getAuthorities());
  //设置登录的请求详细信息
        result.setDetails(webdetails);
        SecurityContext sc=SecurityContextHolder.getContext();
        sc.setAuthentication(result);
//保存SecutityContext信息
session.put("SPRING_SECURITY_CONTEXT",sc);
分享到:
评论

相关推荐

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

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

    spring-security多登录页面配置

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

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

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

    spring-security多个登录页面配置

    在Spring Security框架中实现多个登录页面的配置是一项高级特性,主要应用于区分前端用户与后端管理员的不同登录需求。本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录...

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

    4. **处理登录和会话管理**:创建一个登录接口,用户可以通过这个接口提交凭证并获取JWT token。这个token将在后续的请求中携带,以证明用户的身份。同时,需要处理session管理和token的刷新,确保用户会话的安全性...

    Spring_Security_多页面登录配置教程

    `AuthenticationProcessingFilter`是Spring Security中用于处理用户登录请求的核心组件之一。它负责接收用户提交的登录信息并进行验证。为了支持多页面登录,我们需要为每个登录页面配置一个`...

    spring security 完整项目实例

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

    Spring Security 资料合集

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

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

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

    springSecurity 实现传参

    Spring Security通过过滤器链处理HTTP请求,其中最重要的过滤器是`UsernamePasswordAuthenticationFilter`,它负责处理登录尝试。当用户尝试登录时,这个过滤器会捕获请求,验证用户名和密码,如果验证成功,就会...

    Spring Security 3多用户登录实现一

    可以自定义`AuthenticationFailureHandler`和`AuthenticationSuccessHandler`来处理登录失败和成功时的行为,例如重定向、显示消息等。 6. **异常处理**: Spring Security提供了统一的异常处理机制,如`...

    SpringSecurity.pdf

    Spring Security是一个功能强大、高度定制的安全框架,它专门用于为基于Spring的应用程序提供安全性解决方案。Spring Security架构的设计初衷是为了解决认证和授权的需求,确保应用程序的安全性。它提供了全面的安全...

    springsecurity学习笔记

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

    spring mvc 和spring security自定义登录

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

    基本的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 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 Security的身份验证失败处理方法

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

    SpringSecurity笔记,编程不良人笔记

    - 自定义登录页面:通过设置`loginPage`和`loginProcessingUrl`属性,可以指定自定义的登录页面和处理登录请求的URL。 - 自定义用户认证:实现`UserDetailsService`,返回自定义的`UserDetails`对象,以适应具体的...

Global site tag (gtag.js) - Google Analytics