Spring安全性和UserDetailsS​​ervice

Dim*_*tri 4 java spring spring-security

我是Spring Security的新手,我正在尝试实现UserDetailsService身份验证的自定义.困扰我的是,这个接口只包含一个方法loadUserByUsername(String username),它只接受用户名作为参数并返回一个UserDetails.

我想知道为什么这个方法不会将任何密码作为参数.

Spring如何仅根据用户名设法验证用户?

我是Spring安全的新手,欢迎任何关于Api和Spring Security中的身份验证过程的澄清.

Boh*_*rdt 6

UserDetailsService验证用户不是工作.这是责任AuthenticationProvider.

例如,DaoAuthenticationProviderjust用于UserDetailsService通过用户名加载用户,然后验证该UsernamePasswordAuthenticationToken用户是否匹配密码.

看看源代码,DaoAuthenticationProvider了解在幕后如何做到这一点.