问题标签 [userdetailsservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
606 浏览

java - 如何修改现有的 Spring MVC 应用程序以绕过 Spring 安全性?

几年前我在没有任何框架的情况下使用 servlet 进行过 Web 开发,所以我对 Web 服务很熟悉。现在我的工作需要我修改 3 个现有的 Spring MVC 应用程序以将 3 个登录屏幕合二为一。一个应用程序在 Tomcat 5 上运行,两个在不同版本的 Tomcat 6 上运行。

并且公司决定用.net来代替Java,所以聘请了.net公司写了一个界面[frame],有一个单一的登录界面,但是frame里面的内容还是由3个老的Java spring app生产的。这是他们替换 Java 应用程序的第一步。

因此更改后,用户将从 .net 中的首页登录,并使用用户 ID/密码从数据库中获取角色和其他信息,不同的角色 [客户、员工、代理] 将显示不同的菜单和内容,然后.net应用程序将调用Java传递它具有的信息[用户名,角色,uid,GUID ..],Java程序将调用不同的现有Spring应用程序来显示内容。

所以我的问题是:如何使用我从.net 应用程序获得的信息 [用户名、角色、uid、GUID ..] 存储到 Spring 应用程序中,因此当他们检查用户角色时,他们可以找到它. 换句话说,在旧的 Spring 应用程序中,每个应用程序都会检查数据库以获取此信息并将其存储在某个对象中,现在 .net 将为它们执行此步骤,所以我应该生成哪些对象来模拟 Spring 安全步骤?

详情见图表:

在此处输入图像描述

我检查了以下问题,但没有一个回答我的问题:

Spring Security 2.0.6 调用 UserDetailService 的 loadUserByName 方法

Spring Security:绕过登录表单

但有一个词脱颖而出:UserDetailsS​​ervice!

那是我应该生成的对象吗?如果是这样,我应该将它存储在哪里以便 Spring 应用程序可以找到它?

0 投票
2 回答
1060 浏览

spring - 使用 spring security 保护 rest api - 自定义状态码

我正在使用 spring security (4.0.0.M2) 来保护我的 web 应用程序以及我的 rest api。一切都很好。但我有一个问题。当用户无法通过身份验证时,我想返回 401 的 http 结果 403(禁止)

我为每个身份验证场景定义了不同的 http 定义,一个用于 web,一个用于 api。

在这种情况下,有人可以帮助返回 http 状态代码 403 吗?

谢谢你的帮助。

此致

桑尼

0 投票
3 回答
14974 浏览

oauth-2.0 - 找不到 Spring Boot OAuth 2.0 UserDetails 用户

我是 Spring Boot 的新手,我正在尝试配置 OAuth 2.0。我现在遇到的问题是,当我尝试请求访问令牌时,我不断收到以下消息:

{ "error": "invalid_grant", "error_description": "凭证错误" }

Spring Boot 控制台中的错误消息说找不到用户。

:使用 org.springframework.security.authentication.dao.DaoAuthenticationProvider 进行身份验证:未找到用户“stromero”:返回单例 bean“authenticationAuditListener”的缓存实例

我已经使用 JPA 实现了一个已经保存到数据库的自定义用户,我无法弄清楚为什么 Spring Security 找不到这个用户,这可能是我的逻辑或配置有问题。如果有更多经验的人可以查看我的代码并指导我走向正确的方向,那将不胜感激。

这是 HTTP 请求:

POST /oauth/token HTTP/1.1 主机:localhost:8181 授权:基本 YnJvd3NlcjpzZWNyZXQ= 缓存控制:无缓存 内容类型:application/x-www-form-urlencoded username=stromero&password=password&client_id=browser&client_secret=secret&grant_type=password

这些是我用来实现自定义用户和 OAuth 2.0 的类

下面是我创建的自定义用户

下面是一个 customdetails 服务,它从数据库中读取用户信息并将其作为 UserDetails 对象返回

下面的类是一个包含 UserDetailsS​​ervice 和 ClientDetailsS​​ervice 的数据结构

下面的类是我使用 Spring Boot 对 OAuth 2.0 的配置

下面是我的 pom.xml 文件

0 投票
1 回答
629 浏览

java - Spring + Struts + Spring Security 得到 NoSuchBeanDefinitionException

所以我想做的是制作一个 Struts2 应用程序并使用 Spring Security 保护它。为此,我制作了一个 struts 空白项目并添加了 Spring 依赖项并为 Spring Securtiy(基于注释)进行了所有配置。但是当我运行代码时,我得到NoSuchBeanDefinitionException

所以基本上我做错了什么?

代码: SecurityConfig.java:

安全WebApplicationInitializer:

AppConfig.java

MyUserDetailsS​​ervice.java

例外:

0 投票
0 回答
1747 浏览

spring - 无法将类型的值转换为属性“userDetailsS​​ervice”所需的类型:找不到匹配的编辑器或转换策略

在加载弹簧安全上下文时,我遇到了异常。

我在 WEB-INF/lib 中有所有 spring 核心和安全 jar。applicationContext.xml 和 applicationContext-security.xml 也处于 WEB-INF 级别。我不知道为什么我会收到这个错误。

这是我的安全上下文 xml 文件。

0 投票
2 回答
1143 浏览

grails - 未调用自定义 UserDetailsS​​ervice - Grails & Spring Security Core

我正在使用带有 spring-security-rest、spring-security-core 和 spring-security-ui 插件的 Grails v2.4.2。

我编写了一个自定义 UserDetailsS​​ervice 以使用户名不区分大小写。我所做的只是试图覆盖

我的com.example.core.CaseInsensitiveUserDetailsS​​ervice类定义为:

我的resources.groovy包含:

它编译成功,但它从未真正运行我的自定义CaseInsensitiveUserDetailsS​​ervice。在控制台中,我看到了来自实际 GormUserDetailsS​​ervice 的调试语句,而不是我的自定义语句。可以做些什么来使用我的自定义 UserDetailsS​​ervice?

**注意:我一直在关注这两个教程:

  1. http://www.stevideter.com/2012/11/17/case-insensitive-usernames-using-spring-security-core-plugin-for-grails/
  2. http://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsS​​ervice.html
0 投票
0 回答
313 浏览

spring - 提交登录表单请求后获取拒绝访问弹簧安全

我面临一个奇怪的问题,当我写

它工作正常,但我将其更改为

它直接进入403页面。

这是我的弹簧安全配置:

我的自定义 UserDetailsS​​ervice:包 com.dynamic.spring.service;

@Service("loginService") 公共类 LoginServiceImpl 实现 UserDetailsS​​ervice {

和 LoginDaoImp:

请任何人帮助我,我被卡住了。谢谢。

0 投票
1 回答
1512 浏览

spring-security - 如何为几种类型的用户实现 UserDetailsS​​ervice?

在我的网络应用程序中,当我有一种类型的用户(典型用户)时,我执行以下操作:

1) 实施UserDetailsService

2)为该用户编写配置,security-config.xml如下所示:

但现在我想拥有另一种类型的用户(管理员)。所以,我需要另一种loadUserByUsername方法实现(用户将在哪里得到ROLE_ADMIN)。
我可以写另一个类(AdminServiceImpl),但我的security-config.xml会是什么样子?

0 投票
1 回答
6365 浏览

spring-security - Spring security 总是给我错误的凭据异常

我正在使用注释版本 4.0.2 配置 spring 安全性

这是我的 SpringSecurityConfig

这是我的 UserDetailsS​​ervice

UserService 接口还没有方法

我在 url http://localhost:8080/tutor/api/login 数据中发送 post 请求 - username=admin, password=admin 其中tutor 是 contenxt。

我收到 401 Unauthorized 异常 - 我在 AuthenticationFailureHandler 中打印了身份验证异常的堆栈跟踪,这是异常堆栈跟踪 -

有人可以指出我到底错过了什么。

0 投票
0 回答
1037 浏览

spring - Spring Security:如何在自定义 UserDetailsS​​ervice 中访问 SessionRegistry?

我收到以下错误消息

给定以下 Spring Security 4 设置:

弹簧安全配置:

自定义 UserDetailsS​​ervice:

知道为什么SessionRegistryImpl无法注入我的自定义项UserDetailsService吗?我尝试了各种排列,例如,session-registry-alias代替session-registry-ref@Resource(name="sessionRegistry")代替@Autowired,等等,但没有一个对我有用。我被卡住了,任何帮助将不胜感激!