试图了解使用Spring Security实现OpenID身份验证的正确方法。
public class OpenIDUserDetailsService implements
UserDetailsService,
AuthenticationUserDetailsService {
@Override
public UserDetails loadUserByUsername(String openId) throws
UsernameNotFoundException, DataAccessException {
// I either want user email here
// or immediately delegate the request to loadUserDetails
}
@Override
public UserDetails loadUserDetails(Authentication token) throws
UsernameNotFoundException {
// This never gets called if I throw from loadUserByUsername()
}
private MyCustomUserDetails registerUser(String openId, String email) {
...
}
}
我正在考虑用户尚未在我的应用程序中注册的情况。要注册用户,我需要知道它的OpenID和电子邮件。
当OpenID提供者将用户重定向回我的应用程序时,将调用loaduserbyusername()
,但在这种情况下,我只知道用户的OpenID。因此,我抛出UsernameNotFoundException
,然后LoadUserDetails()
,因此无法注册用户。
这里常见的解决办法是什么?如果从loaduserbyusername()
返回类似fakepartialuserdetails
,然后在调用loaduserdetails()
时注册用户,然后返回真正的mycustomuserdetails
呢?
我使用的是Spring Security 3.0.7
这很有趣,但通过转移到Spring Security 3.1.0.发行版来解决这个问题。
对于相同的场景,行为完全不同--不调用loaduserbyusername()
,而是调用loaduserdetails()
。
本文展示了如何使用 JPA 自定义 UserDetailsService 及数据库 的方式来进行认证。在本例,我们将认证信息存储于 H2 数据库中。 在 ldap-authentication项目的基础上,我们构建了一个jpa-userdetailsservice项目。 build.gradle 修改 build.gradle 文件,让我们的jpa-userdetailsservice项目成为一个
致力于从Spring Security xml配置移动到Spring Security中的Java配置。 在我的类SecurityConfiguration中,它扩展了WebSecurity配置适配器。然而,问题是安全过滤器(特别是UsernamePasswordAuthenticationFilter)没有使用userDetailsService。我查看了启动,似乎这不是在Spring boot
我正在尝试从基于Spring XML的配置迁移到纯Java配置,我已经配置了所有配置文件,但当我尝试在登录页面中输入用户名和密码时,它会再次将我重定向回登录页面。我相信userServiceImpl方法没有被调用,因为控件没有被调用。在这里,我有一个自动连接的userServiceImpl方法,它实现了Spring Security核心凭据的UserDetailsService。 自定义身份验证成
例如,下面的代码试图处理一个简单的登录,使用密码编码器对db表进行身份验证。表单post包括一个“客户端”,一个持久化的IP地址和一些url路径信息,以便在登录后进行深度链接。(对于今天的单页web应用程序来说,这些都是非常基本的东西)我最初使用xml config工作,但是javaConfig让我陷入了困境。 我不知道userDetailsService,AuthenticationManage
尝试使用自定义userDetailsService学习Spring Security性并面临以下问题 访问受限页(/admin或/user)时,spring security将启动并显示登录页。 但在使用正确的用户名和密码提交登录页后,在调用自定义userDetailsService实现中的loadUserByUsername方法之前,将直接显示拒绝访问页。 在日志中,只有异常--在访问受限页面时
我对spring很陌生,我对Spring Security性有这个问题。实际上,它只在没有自定义UserDetailsService实现的情况下工作。 帐户和角色对象 角色 用户详细信息的适配器 自定义UserDetailsService 网络。xml 根上下文 安全上下文 我希望你们中的一些人能帮助我,救救我:)