`
zeng7960983
  • 浏览: 43307 次
  • 性别: 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登录请求问题,本文给大家介绍的非常不错,具有参考借鉴价值,需要的朋友可以参考下

    微信扫一扫登录、微信支付、springsecurity&oauth2

    项目中使用到的技术包含SpringBoot、SpringSecurity&oauth2(安全资源和授权中心模式、包括登录接口自定义返回字段、自定义手机号+密码登录、自定义免密登录)、Queue队列、线程池、xss攻击配置、SpringCache、Mybatis...

    SpringSecurity项目

    springsecurity是一个功能强大且高度可定制的身份验证和访问控制框架。springsecurity是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring安全性的真正威力在于它可以很容易地扩展以...

    java学习之SpringSecurity配置了登录链接无权限

    由于SpringSecurity的异常处理和mvc的异常处理是不一样的,认证类异常和权限异常了,并不会被全局异常捕获,而是SpringSecurity内部自己做了处理逻辑。 思路分析 我已经将本次请求的url添加到忽略名单里面了,起始...

    SpringSecurity.zip

    ​ Spring Security:spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转...

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...

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

    在本篇文章里小编给大家整理了一篇关于自定义Spring Security的身份验证失败的处理方法,有需要的朋友们学习下。

    Spring Security

    Spring Security是什么? 历史 发布版本号 Getting Spring Security Spring Security 4.1新特性 Java 配置提升 Web应用程序安全性提升 授权改进 密码模块的改进 测试的改进 一般的改进 样品和指南 (Start Here) Java ...

    Spring-Security-Demo

    SpringSecurity,这是一种基于Spring AOP和Servlet过滤器的安全框架。...本实例简单配置了springsecurity权限控制,提供admin,user两个用户,在页面登录时以不同角色可访问不同页面,初学者可加以参考此例 谢谢!

    Spring Boot集成Spring Security的Demo

    本文介绍了在spring boot如何使用spring security,spring security的基本配置。如何实现自定义登录,自定义登录成功处理,自定义登录失败处理。

    Spring Security 3 与 CAS单点登录配置.doc

    Spring Security 3 与 CAS 单点登录配置 Spring Security 3 是一个基于 Java 的安全框架,提供了灵活的身份验证、授权和访问控制功能。CAS(Central Authentication Service)是一种流行的单点登录协议,允许用户...

    Spring Security 中文教程.pdf

    1.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. ...

    spring security 参考手册中文版

    远程处理 - spring-security-remoting.jar 25 Web - spring-security-web.jar 25 配置 - spring-security-config.jar 26 LDAP - spring-security-ldap.jar 26 ACL - spring-security-acl.jar 26 CAS - spring-...

    SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题

    转载他人 https://blog.csdn.net/u012702547/article/details/79010010 https://blog.csdn.net/u012702547/article/details/79019510

    Spring security 自定义密码加密方式的使用范例。

    Spring security的完整使用范例,支持自定义密码的加密方式,以及成功,失败的处理。是一个完整可运行的工程,码云似乎还要注册。后期考虑下用码云

    spring-boot-security-saml, Spring Security saml与 Spring Boot的集成.zip

    spring-boot-security-saml, Spring Security saml与 Spring Boot的集成 spring-boot-security-saml这个项目在处理 spring-security-saml 和 Spring Boot 之间的平滑集成的同时,在处理内部的配置的gritty和锅炉板的...

    Java课程实验 Spring Security 实现用户认证和授权管理

    Spring Security提供了一套强大的功能来处理用户身份验证和授权,以下是一些常见的步骤: 1.添加Spring Security依赖: 在项目的 pom.xml 文件中添加Spring Security依赖。 2.配置Spring Security: 创建一个类并...

    springSecurity-jwt:JWT access_token和refresh_token

    SpringSecurity-JWT-VERSION2(AccessToken和RefreshToken) version1太复杂,无法优化。accessToken refreshToken流安全登录处理流程详细说明转到博客文章JWT异常处理安全异常处理(AuthenticationEntryPoint,...

    拒绝访问异常处理(AccessDeniedException)_spring security例子

    拒绝访问异常处理(AccessDeniedException)_spring security例子 博客:blog.csdn.net/dsundsun

    动力节点最新SpringSecurity框架教程配套资料分享

    课程内容主要分为: 安全入门,认证授权的概念,在SpringBoot中使用Security,加密处理,基于数据库的认证和授权,Spring Security中使用Thymeleaf自定义登录页面,通过过滤器集成图片验证码,Base64和JWT的学习,...

Global site tag (gtag.js) - Google Analytics