急求解决Spring security中认证后的UserDetailsService接口问题!

问题描述:
登录页面除开j_username和j_password,还有siteId参数,我如何才能在UserDetailsService的实现类里方法loadUserByUsername中获取到提交上来的siteId这个参数。

0

5个回答

你可以实现AuthenticationSuccessHandler接口,然后配置到UsernamePasswordAuthenticationFilter中,然后在里面通过request获取siteid这个值,再做相应的处理

0
yushangfeng
yushangfeng 你好,这个方法可以。我将siteId放到UserDetails实现类的属性里,然后在认证完成后,从里面获得。谢谢各位了。
6 年多之前 回复
wad12302
wad12302 这个方法没试过,应该可以的
6 年多之前 回复

UserDetailsService的方法loadUserByUsername只提供了一个String的username参数,无法获取其它参数

是什么原因让你需要在这个方法里获取siteid参数,可以通过其它方式来获取

0
DreamZhong
DreamZhong 按楼上的做,在成功验证后处理器中处理不同的转向
6 年多之前 回复
yushangfeng
yushangfeng 一个用户可以对应多个交互界面,我需要认证后,通过siteId来判断。
6 年多之前 回复

还有一种办法比较简便,通过前台拼接字符串,把参数拼接到user_name上,然后在后面拆开,就好了啊

0

:lol: 这个方法就是用过username 获取用户entity的 难道你的username 不是唯一的么?非要在加一个siteId?

0

当初我也是这么觉得,
现在我就是先根据用户ID查询用户,再查询一次

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
基于数据库自定义UserDetailsService实现Spring security认证
Spring security——基于数据库自定义UserDetailsService实现认证 本文将展示如何在spring security中创建基于数据库自定义UserDetailsService的认证服务。 UserDetailsService UserDetailsService接口用于返回用户相关数据。它有loadUserByUsername()方法,根据username查询用...
SpringSecurity4使用UserDetailsService时无法注入数据库持久层的service、dao
在使用SpringSecurity4时无法自动注入service层:代码如下:@Service("customUserDetailsService") @Transactional(readOnly = true) public class CustomUserDetailsService implements UserDetailsService { @Autowired priva
简单的Spring Security实例(自定义登录验证)
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企
spring security 一个验证码登录例子
看完shiro,在看spring security感觉快了很多,最开始看spring security的时候,非常晕,看完我觉得spring security做了太多事,以至于程序员都不知道,是怎么实现的,这样的 后果就是 当出现错误,或者需要修改的时候感觉无从下手。 个人理解,若有错误,请指正。 spring security跟shiro类似,都是使用过滤器来认证和授权,不同的
使用Spring Security和OAuth2实现RESTful服务安全认证
使用Spring Security和OAuth2实现RESTful服务安全认证    这篇教程是展示如何设置一个OAuth2服务来保护REST资源. 源代码下载github. 你能下载这个源码就开始编写一个被OAuth方法保护的服务。该源码包含功能: * 用户注册和登录 * Email验证 * Password 丢失 采取的技术有以下: * OAuth2 Protoc
【SpringSecurity】用户自定义认证
  自定义用户认证逻辑    处理用户信息获取逻辑-UserDetailsService  用户信息被封装在一个接口里面的UserDetailsService,由SpringSecurity提供,如下:   该接口里面有一个loadUserByUsername方法,传入参数为userName,返回值为userDetails,作用为:根据用户在前面输入用户名,从存储系统(数据库)读取一个用户信...
[spring security 那点事儿]配置方式
这段时间一直开发的B2C的网购平台已经完成了将近一半的功能,突然觉得自己之前对于权限管理方面的hold决定将给后面带来不小的工作量,所以决定现在就加入权限判断的功能。很容易联想到spring security来做这个事情,先看看一个官方文档的翻译版本:http://www.family168.com/tutorial/springsecurity/html/springsecurity.html写的有些简略,但是足以能step by step的执行下去。这里总结一下今天通过命名空间方式的配置过程吧。既然要做
Spring Boot集成JWT&Spring Security进行接口安全认证
一,协议token验证未通过返回:{ "header": { "errorinfo": "无效的token", "errorcode": "8001" } }页面上对这种情况的处理,都跳转到登陆页面;登陆验证未通过返回:{ "header": { "errorinfo": "用户名或密码错误,请重新输入!", "
在使用 Spring Security 的 Remember Me 记住密码功能时遇到的问题和解决方法
在使用 Spring Security 的 Remember Me 记住密码功能时遇到的问题和解决方法 java.lang.IllegalStateException: UserDetailsService is required. 配置信息(Security.java) @Autowired public void configureGlobal(AuthenticationMana
在Spring Boot中整合Spring Security并自定义验证代码
最终效果 1、实现页面访问权限限制 2、用户角色区分,并按照角色区分页面权限 3、实现在数据库中存储用户信息以及角色信息 4、自定义验证代码
使用 Spinrg Security 进行基于用户名密码的安全验证(无权限控制)
笔记 引入起始依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> UserDetails U...
Spring Boot+Spring Security+Spring Social项目开发(六):开发APP认证框架、Spring Security OAuth核心源码、重构三种登录方式、重构社交登录
Spring Security OAuth开发APP认证框架 cookie-session方式 开发繁琐,自己处理cookie的存储再读出来 安全性和客户体验差,验证工作服务器自己做,直接拿sessionid就可以获取用户身份,设置超时时间的话会让用户频繁登录,用户体验差 有些前端技术不支持cookie ,如小程序. Token方式开发 refresh_token 刷新令...
security个性化用户认证流程二
流程一说的是自定义页面处理,一会马上立刻现在就说,这里学的是自定义登录成功和失败的处理。这不,你看,开始了吧: package com.imooc.security.browser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annot...
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(二)
当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异。笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来介绍一下项目中遇到的问题以及我的解决方案,希望这个系列能够给小伙伴一些帮助。本系列文章并不是手把手的教程,主要介绍了核心思路并讲解了核心代码,完整的代码小伙伴们可以在GitHub上star并clone下来研究。另外,原本计划把项目跑起来放到网
基于Spring Boot,Security和JWB的REST接口的无状态认证
Stateless Spring Security Part 2: Stateless Authentication Posted on October 6, 2014 by Robbert van Waveren This second part of the Stateless Spring Security series is about exploring me
架构小白到砖家-17-【密码安全问题】-springsecurity整合密码加密机制BCryptPasswordEncoder
用户认证需要验证用户的密码是否正确,但是为了保护用户隐私,防止用户账号密码泄露,用户在注册的时候,都需要将密码进行加密。那么在用户认证的时候,就需要将原始密码和加密密码进行验证。这样就需要注册加密和验证加密的方式保存一致。 我们就补充下加密的概念,前面咱们已经在数据库密码加密时,学习了对称加密和非对称加密的概念,知道了私钥和公钥的作用。不管是对称还是非对称加密,都是可以将密码还原成真实信息。用户的...
SpringSecurity实现登录认证及权限验证
目标在原公司有专门的登录验证和权限管理服务,换公司后在最近项目中需要使用Spring Security自主实现分布式系统的用户验证授权及权限验证功能,因此花了两天时间研究并实现了该方案: 功能点细分: 1. 基于REST请求的登录 2. 用户名密码验证及验证成功后给用户授权 3. http请求的权限配置和验证 4. 方法级别的权限配置和验证 5. 分布式环境中用户权限共享分析及
spring-security实现权限管理
首先需要配置好spring-security:[spring-security简单配置](http://blog.csdn.net/qq_28890731/article/details/51013366) 整体思路是将权限管理分为两部分:资源控制和页面展示控制,首先确保没有权限的资源不可访问,其次是将没权限操作的页面标签隐藏。数据库涉及到6张表,分别是: 1,用户表;2,角色表;3,资源(权限)
Spring Security使用总结(高级)
前一篇文章里介绍了Spring Security的一些基础知识,相信你对SpringSecurity的工作流程已经有了一定的了解,如果你同时在读源代码,那你应该可以认识的更深刻。在这篇文章里,我们将对SpringSecurity进行一些自定义的扩展,比如自定义实现UserDetailsService,保护业务方法以及如何对用户权限等信息进行动态的配置管理。    一 自定义Use
Spring security安全认证框架
Spring Security 简介 Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否
【Spring Security OAuth2笔记系列】- spring security - 自定义用户认证逻辑
自定义用户认证逻辑 处理用户信息获取逻辑 处理用户校验逻辑 处理密码加密解密 注意!注意! 视频中启动的是demo。而这次要写的代码在security-browser中。 遇到一个问题也就是在 项目结构 一文中最后的 关于依赖项目没有被扫描到的问题; 如果按照笔记走出现了这个问题。就去项目结构中关于”关于依赖项目没有被扫描到的问题”解决 处理用户信息获取逻辑 org.sp...
SpringSecurity学习笔记之三:配置用户存储
没有用户存储的应用相当于没有用户,因为任何用户都会被拒之门外。我们所需要的是用户存储,也就是用户名、密码以及其他信息存储的地方,在进行认证决策的时候,会对其进行检索。Spring Security非常灵活,能够基于各种数据存储来认证用户。它内置了多种常见的用户存储场景,如内存、关系型数据库以及LDAP。同时,我们也可以编写并插入自定义的用户存储实现。借助Spring Security的Java配置,
解决Spring Security导致的前后台传值乱码问题
解决Spring Security导致的前后台传值乱码问题
spring实战-Spring-security实现用户权限认证登录
第八篇:Spring-security实现用户权限认证登录 spring-security原本是Acegi Security组件,该组件是一个强大的安全框架,但是使用方式很繁琐,要配置几百行XML。集成进Spring后,就可以通过xml或者JavaConfig的方式,很容易的就实现了系统的集成。下面示例展示了通过JavaConfig的方式集成spring-security安全框架
在Spring Boot中使用Spring Security实现权限控制
Spring Boot框架我们前面已经介绍了很多了,相信看了前面的博客的小伙伴对Spring Boot应该有一个大致的了解了吧,如果有小伙伴对Spring Boot尚不熟悉,可以先移步这里从SpringMVC到Spring Boot,老司机请略过。OK,那我们今天要说的是Spring Boot中另外一个比较重要的东西,那就是Spring Security,这是一个专门针对基于Spring的项目的安全
Spring security 4.1 登录成功后重复进行认证问题
问题场景: 登录成功后,在执行某个功能操作(例如:系统管理模块的删除功能时),会去执行UserDetailsService.loadUserByUsername 再次进行用户认证。 出现问题版本 Spring security 4.04  、 4.10 通过源码分析发现BasicAuthenticationFilter.authenticationIsRequired(usernam
spring security将sessionId放在header里,解决共享会话的问题
现在分布式系统,都是采用redis做共享会话。 现在系统使用的是spring security,用户登陆后,如何通过sessionId保证已经登陆呢 解决办法如下: @Configuration //maxInactiveIntervalInSeconds session超时时间,单位秒 @EnableRedisHttpSession(maxInactiv...
spring security登录成功后跳转回登录前的页面
spring security登录成功后跳转回登录前的页面 我刚好碰到了这么一个需求,正好自己也刚开始学spring security,但是我百度了一下,发现都讲的好麻烦,其实大概了解完之后,亲自实践一下发现,操作非常简单。 需求如下: 在未登录的情况下访问某些页面被拦截,跳转到登录页面,然后现在需要登录成功之后跳转到登录之前的页面。 要解决这个问题,就需要明白一点,就是我被拦截前的请求去...
Spring Security技术栈开发企业级认证与授权(九)开发图形验证码接口
在设计登录模块的时候,图形验证码基本上都是标配,本篇博客重点介绍开发可重用的图形验证码接口,该接口支持用户自定义配置,比如验证码的长度、验证码图形的宽度和高度等信息。 本文的目标是开发一个图形验证码接口,该验证码支持用户自定义长度,以及生成图片后图片的宽度和高度、验证码的过期时间等。接下来按照整个设计思路介绍开发流程。 一、开发图形验证码实体类及属性类 1)图形验证码实体类 ...
[Spring Security] 表单登录通过配置自定义登录页面,以及自定义认证成功/失败处理机制
书接上回,1.目录结构2.配置自定义登录页通过配置SecurityProperties,MyProperties,SecurityCoreConfig来读取resources文件夹下application.properties中相关配置项。SecurityProperties:package com.security.properties; import lombok.Data; import ...
Spring Security 认证成功后跳转错误码404
描述问题 浏览器中输入http://localhost:8080/test.html,认证服务跳转到login.html,输入正确的账号密码后,跳转过去返回404。   分析问题   pom主要信息 spring boot version 2.0.4.RELEASE spring security 、MVC version 2.0.4.RELEASE 仔细看了最后跳转的路径,是根...
Spring security的基础用法(普通的用户认证和授权)
1.背景 Spring Security是一套成熟的安全框架,充分利用了依赖注入和AOP的实现安全功能。安全框架包含两大部分,一个是认证,一个是授权。 2.原理 其实Spring Security的功能实现主要是依靠DelegatingFilterProxy这一个多个过滤器来实现的。我们需要把这个过滤器注册到web容器上。 3.内容 1.如何配置自己需要的信息? 肯定是需要一个配置类,...
spring-cloud security 引起的安全认证错误
spring-cloud security引起的安全认证错误 使用时注意两点:一个是defaultZone的地址写法` security: basic: enabled: true user: name: pjx password: 789 server: port: 8761 eureka: client: healthcheck: ...
Spring Security详解(一)认证之核心组件和服务
一直以来都特别喜欢Spring的全家桶系列,也一直想写关于Spring Security的系列文章,接触security从最初的Guide开始入手,到项目中的源码阅读,最近又沉下心来看了几遍文档,打算尝试一下,把我的理解都记录下来,写一个较为完整的系列文章。 什么是Spring Security验证? 让我们考虑一个大家都很熟悉的标准的验证场景。 1. 提示用户输入用户名和...
Spring Security使用数据库中的用户进行身份认证
Spring Security可以运行在不同的身份认证环境中,当我们推荐用户使用Spring Security进行身份认证但并不推荐集成到容器管理的身份认证中时,但当你集成到自己的身份认证系统时,它依然是支持的。     1. Spring Security中的身份认证是什么?     现在让我们考虑一下每个人都熟悉的标准身份认证场景:
SpringSecurity前后端分离下对登录认证的管理
       本案例基于springboot2.0.4,只说对登录验证的管理,不涉及权限的管理。因为学习新东西一下子太多,很容易乱。(后面还有对登录验证管理的源码分析)   &am
解决加入springSecurity配置后,注册方法访问不到后台的问题
最近使用spring的安全框架SpringSecurity,先写好的注册方法,在没有加入springSecurity之前时好用的,可以把数据保存到数据库。加入spring-security.xml后,再注册发现请求不能再到后台了。找了好久发现是因为注册时调用的add.do方法没有配置到spring-security.xml的放行路径中,被springSecurity拦截了,只需要配置放行资源即可。...
springsecurity第四章——使用数据库的spring security后台认证
在现在的应用当中,我们都会把用户信息都存到数据库当中,所以我们要把security基于内存的操作改为基于数据库的操作。 其实不管基于内存的操作还是基于数据库的操作,security的目的都是只有一个,拿到当前的User以及相关的UserDetails信息,在基于内存的时候,用户名以及相关的UserDetails都会存到内存中,同理,如果迁移到数据库中,那么,我们可以从数据库中查出当前User以...
Spring Security 登陆成功后的处理
       Spring Security 完成登陆后一般需要一些自定义的处理,例如,记录登陆日志,初始化用户菜单等等 这里就需要自定义的 登陆成功处理了,Spring  提供了 AuthenticationSuccessHandler 接口,完成这个接口就可以了。 但是,修改到这里处理后,原先系统的自动转向处理就没有了,接口中应该怎么写,才可以保持原来的功能呢?   代码如下:   ...
Spring Security CSRF解决POST请求验证问题
.post或者其他的.post 或者其他的.post或者其他的.ajax请求不能访问后台,代码都是对的,但是请求都到不了后台,经过了多方排查,花了几个小时我终于知道了原因。记录一下。 在看浏览器的html代码时发现了有一个隐藏表单 原来是我使用了Spring Security Spring Security 4.0之后,引入了CSRF,默认是开启。不得不说,CSRF和RESTful技术有冲突。...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java的学习问题及解决 区块链认证