【问题标题】:OAuth User Table customiseOAuth 用户表自定义
【发布时间】:2021-01-06 19:10:06
【问题描述】:

我已经在我的 Spring Boot 应用程序中实现了 Oauth2。

我的用户表如下:

所以当我击球时:

用户名和密码的验证是通过用户表完成的。 但是在我的应用程序中,我已经有另一个用户表,所以我想从上面的表中删除用户名和密码,并且只想使用我现有的表进行身份验证。有可能吗?

我的应用程序中的用户表: 表--> user_details

列:用户名、密码

在 oauth 中是否有可能,例如仅从我自己的表中进行身份验证,其余详细信息从 authdb.user 中获取? 或者我们是否可以删除已启用、accountNotExpired、..其他列?

【问题讨论】:

    标签: spring spring-boot oauth-2.0 oauth spring-security-oauth2


    【解决方案1】:

    在 Spring Security 中,UserDetailsS​​ervice 接口负责加载用户详细信息,JdbcDaoImpl 是 JDBC 的默认实现。 您需要做的就是创建一个 JdbcDaoImpl 的子类并覆盖从表 user 和表 user_details 加载用户详细信息的 loadUsersByUsername 方法。 不要忘记像这样在安全配置类中将您的子类声明为 Bean

    @Configuration
    class SecurityConfig extends WebSecurityConfigurerAdapter {
    
       //other method
      
        @Bean
        @Override
        public UserDetailsService userDetailsService() {
            return new CustomJdbcDaoImpl();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 2013-07-12
      • 2016-09-14
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-17
      • 2011-08-23
      相关资源
      最近更新 更多