Spring mvc SpringSecurity4自定义jdbc身份验证
我正在使用SpringBoot、SpringMVC4、SpringSecurity4和mysql作为新web应用程序的数据存储,我有两个问题Spring mvc SpringSecurity4自定义jdbc身份验证,spring-mvc,spring-security,spring-jdbc,Spring Mvc,Spring Security,Spring Jdbc,我正在使用SpringBoot、SpringMVC4、SpringSecurity4和mysql作为新web应用程序的数据存储,我有两个问题 我以前从未使用过spring security,但看到它之后,我对用于查找用户权限的查询提出了一个问题:为什么它使用用户名而不是用户id。我的意思是,基于用户id搜索权限要快得多,并且可以在将来更改用户名。我试图重载UsersBySernameQuery和authoritiesByUsernameQuery,但使用了用户id,但没有起作用(即使它起作用,方
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="SELECT username, password, CASE enabled WHEN 1 THEN 'true' ELSE 'false' END 'enabled' FROM users WHERE BINARY username=?"
authorities-by-username-query="SELECT username, authority FROM users WHERE BINARY username=?"
id="jdbcUserService" />
<password-encoder ref="passwordEncoder" hash="bcrypt" />
</authentication-provider>
</authentication-manager>
<beans:bean id="passwordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
关于如何做到这一点请每次提问一个问题。