【问题标题】:How Spring Security detects the password filed?Spring Security 如何检测密码字段?
【发布时间】:2016-03-23 18:09:02
【问题描述】:

我正在使用带有 Spring MVC 和 Sprin-Security 的 java 开发一个 Web 应用程序。我可以看到,Spring Security 自己完成了身份验证和安全相关的任务,这没问题。我想知道 Spring Security 如何从进行身份验证的数据库中检测密码字段!!!

我已将用户密码存储在名为“xyz”的列中。现在,我如何让 Spring-Security 在“xyz”列中查找用户密码????我试图为此找到一个明确的答案,但找不到。所以,如果你们帮助我对此做出一个明确的概念......我很感激!

【问题讨论】:

    标签: java database security spring-mvc spring-security


    【解决方案1】:

    首先,您需要设置 JDBC 连接。为此,您可以使用 Spring JDBC 以便对连接进行弹簧管理。

    然后,您需要将 Spring Security 的 UserDetailsS​​ervice 覆盖到您自己的查询中。举个例子here

    然后通过编程配置或通过 XML 配置连接您的服务,无论您在项目中采用哪种方式。

    【讨论】:

    • 谢谢@aksappy。我看到了您在上面提供的示例。但我找不到我的答案。只是我的问题是如何让 Spring Security 在特定列中检查用户密码???
    • 通过使用 SQL 查询,获取密码,然后将其与请求的密码匹配。
    • aksappy,我可以再问你一个问题吗?代码“UserDetails user = new User(username, "password", true, true, true, true, new GrantedAuthority[]{ new GrantedAuthorityImpl("ROLE_USER") })”中的“password”为请求的密码或密码从数据库中获取??
    • 任何时候都去吧
    • 再次-问题:代码中的“密码” UserDetails user = new User(username, "password", true, true, true, true, new GrantedAuthority[]{ new GrantedAuthorityImpl("ROLE_USER ") }) 是请求的密码还是从数据库中获取的密码??
    猜你喜欢
    • 2018-10-08
    • 2012-06-12
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2014-02-14
    • 2018-07-01
    • 2014-07-29
    • 1970-01-01
    相关资源
    最近更新 更多