您永远不应该将密码作为纯文本存储在您的应用程序中。不建议将其用于高度安全的应用程序。您可以使用 Spring Framework 本身提供的 PasswordEncoder 将密码以编码格式存储到数据库中。您需要在 applocationContext.xml 文件中进行以下设置。
<security:authentication-manager>
<security:authentication-provider >
<security:jdbc-user-service data-source-ref="dataSource"
users-by-username-query="
select emailid username,password,'true' enabled from tbl_LoginDetails
where emailid=?"
authorities-by-username-query="
select a.emailid username,b.authority from tbl_LoginDetails a,tbl_UserRoles b
where a.userId=b.userId
and a.emailid=?"/>
<security:password-encoder ref="passwordEncoder">
</security:password-encoder>
</security:authentication-provider>
</security:authentication-manager>
<bean name="passwordEncoder" class="org.springframework.security.authentication.encoding.ShaPasswordEncoder"></bean>
在用户注册时,您需要自己在控制器中对密码进行编码,然后再与类一起存储在数据库中ShaPasswordEncoder
。
希望这对您有所帮助。