问题标签 [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.
java - 如何在 Spring Security 中自定义 UserDetailsService?
我正在使用 Java Configuration 来配置 spring 安全性,并且还使用 UserDetailsService 接口,当我尝试去特定请求时访问被拒绝的问题。
这是代码:
MainConfig.class
安全配置类
初始化器类
SecurityIitializer.class
SecurityUserDetailsService.class
当我尝试登录时,我得到HTTP 状态 403 -尽管用户已获得授权,但访问被拒绝
java - 使用没有 LoadTimeWeaving 的服务自定义 UserDetails
我需要使用对象列表进行访问控制。获取该列表的查询非常复杂且冗长,因此我想在用户向服务器进行身份验证时将其缓存在用户对象中。我决定尝试通过自定义实现 UserDetailService 和这个 WebSecurityConfig 来解决这个问题:
ContextMapper 用数据填充用户对象:
问题是我看不到将我的 DataService 注入此进程的方法 - ContextMapper 和 @Configure 类都不是托管 bean,这使得 @Autowired 不可能。我想避免 LoadTimeWeaving,因为使用它会使部署变得非常困难——我还有其他选择吗?
我发现了这两个类似的问题:为什么我的 Spring @Autowired 字段为空?在一个Controller类中也有同样的问题,可以转成托管bean;其他两个提到的解决方案都对我不起作用(dataService 始终为空)和 Spring Boot,@Autowire 使用 @Configurable 进入非托管类,并且加载时间编织再次推荐 LoadTimeWeaving。
我还发现了在 init 方法中提到使用 @Autowired 的明显解决方案,但我也无法让它工作(尝试使用注入的 dataService 调用 ContextMapper-constructor)
java - Spring Security(Java配置)问题
大家好,
我有一个任务,我必须创建 3 个页面: /login - 我们输入电子邮件和密码的地方, /result - 我们必须告诉用户他是否经过身份验证,如果成功,我们可以显示第 3 页 - / dataEntry 我们可以在其中保存或更新数据库中的用户信息。
典型项目的不同之处在于用户电子邮件和密码在 USERS.XML 中而不是在数据库(DB)中
我已经用sax和dom解析了它。
Parser 返回HashMap,其中“ key ”是“ email ”,“ value ”是“ password ”。
比我做的默认域:
1) Login.class - 是主要的认证类,只能与 users.xml 一起使用。它有下一个字段:电子邮件、密码。
2) User.class - 使用数据库(保存、更新、加载用户信息)。它有下一个字段:id、email、firstName、secondName、gender。
接下来我做了这个域的dao和service层。在我的询问底部,我将提供 bitbucket 的链接,但请全部阅读我的问题。
我通过 Java 配置项目,所以我做了Hibernate 配置(它工作正常)、Web 配置(似乎它也工作正常)和安全配置(此刻我想哭了)。
我的安全配置:
安全WebApplicationInitializer
安全配置
CustomUserDetailsService
当我调试项目时,我注意到从未调用过 @Overloaded 方法 loadByUsername(String email)。
即使我输入了正确的电子邮件和密码,SecurityContext 也会返回我 anonymusUser。所以我无法访问 /dataEntry 页面。
BITBUCKET 的链接:Bitbucket
任何人请帮助我。非常感谢。
spring-security - Spring 的 UserDetailsService
我正在尝试在我的 Spring Boot 应用程序中配置 Spring Security 以仅允许某些用户访问某些 URL,如果他们具有特定角色,即我在创建用户时存储的用户或管理员角色。我在这里查看了几个示例,它们几乎可以满足我的要求。我对 Spring 的UserDetailsService
界面以及UserDetailsService
在尝试访问诸如localhost:8080/addtour
. 目前我的代码如下所示:
我的SecurityConfig
班级:
UserDetailServiceImpl
实现 Springs的UserDetailService
:
我使用 Thymeleaf 的登录页面:
spring-security - 在 oauth2 中获取 grant_type = 刷新令牌的内部服务器错误
我已经在我的 Spring REST 服务中实现了 oauth2。当我使用邮递员 http://localhost:8990/SpringRest/oauth/token?grant_type=password&username=name&password=password点击下面的链接时
我收到了这个回复
我可以使用上述访问令牌访问受保护的资源,但是,当我将此刷新令牌与下面的链接一起使用时,我得到了空指针异常。
json响应
或者
应用程序/x-www-form-urlencoded 响应
控制台日志
不知道这里出了什么问题?任何帮助,将不胜感激。
spring - Spring JDBC 身份验证与 LoadUserByName 差异
我是 Spring Security 的新手,我对身份验证进行了一些研究,我看到有一些人发布了两个选项。第一个是 Jdbc 身份验证或内存身份验证,还有 loadUserByName(UserDetailService)。 它们之间有什么区别,以及 loadUserByName (UserDetailService)的用例是什么
spring - 如何使用自定义用户详细信息服务和 Angular js 2 作为前端在 Spring 安全性中进行身份验证
这是我的安全配置文件
我想知道我应该如何使用angular2发送用户名和密码我在提交时尝试了这个方法
我没有收到任何错误,也没有通过身份验证
请帮助我了解spring如何拦截身份验证请求
spring - 具有不同类型用户的 Spring Security 身份验证
我是 Spring Security 的新手,我正在构建一个 Web 应用程序,其中我有 4 个不同的角色必须将用户发送到 4 个不同的页面,例如,如果用户以管理员身份输入,我想将他发送到管理页面,如果它是客户,我想将他发送到客户页面。
到目前为止,我能够使用用户详细信息服务来验证单个用户。
spring - Spring Security 的 UserServiceDetails 不起作用
我正在通过阅读学习Spring4。现在,我遇到了一个关于Spring Security的问题。当我请求“/ home”时,我得到了登录页面,但是当我填写表单并提交时,我无法进入UserDetailsService 但直接转到控制器然后返回登录页面。我调试它,发现 spitterUserDetailsService 不为空,它是自动装配的。所以我不知道是什么问题。这是我的代码。提前致谢。
spring - Spring/Springboot OAuth2 - 集成自定义 ClientDetailsUserDetailsService
我已经成功地将我的应用程序配置为支持基本、基于表单和 OAuth2 身份验证,但是在尝试自定义 OAuth 中的 ClientDetailsUserDetailsService 时遇到了一些麻烦。我注意到的行为是,尽管我尝试注入新的自定义实现,但始终使用 Spring OAuth ClientDetailsUserDetailsService。
我想要自定义此类的原因是返回一个自定义用户详细信息对象,类似于我用于基本身份验证和表单身份验证的对象。
我已经阅读了网站上与同一主题相关的多篇文章,但无法使用建议的方法解决问题(即:上一篇文章)
无论您注入什么,Spring 的 AuthorizationServerSecurityConfigurer 类似乎总是使用 ClientDetailsUserDetailsService。
我尝试过的事情:
创建一个引用我的自定义用户详细信息 impl 的 @Bean,并在 AuthorizationServerEndpointsConfigurer.userDetailsService 中设置自定义用户详细信息。
在 GlobalAuthenticationConfigurerAdapter 中设置用户详细信息
@Configuration @Order(Ordered.HIGHEST_PRECEDENCE) 公共类 AuthenticationManagerConfiguration 扩展 GlobalAuthenticationConfigurerAdapter {
}
创建了一个自定义 WebSecurityConfigurerAdapter 并在 HttpSecurity 对象中设置用户详细信息服务,即:@Override public void configure(HttpSecurity http) throws Exception {
}
创建一个新的 DaoAuthenticationProvider Bean 并为 oauth 请求手动设置我的自定义用户详细信息服务。
非常感谢任何建议或帮助,我确实有 OAuth 工作,但想稍微调整一下实现,而不必侵入 Spring 类来实现它。谢谢!