使用mysql数据库对Spring安全性中的用户进行身份验证?

我想使用Spring安全性来验证我的Web应用程序中的用户.
由于我不是Spring框架的成熟用户,我无法清楚地了解如何使用jdbc-user-service进行配置设置.
我做了以下配置.但它不起作用

<authentication-manager>
    <authentication-provider>
         <jdbc-user-service data-source-ref="myDataSource"/>
    </authentication-provider>        
</authentication-manager>
<beans:bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <beans:property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <beans:property name="url" value="jdbc:mysql://localhost:3306/testDB"/>
    <beans:property name="username" value="admin"/>
    <beans:property name="password" value="admin"/>
</beans:bean>

..可以请任何人帮我解决一个示例配置文件的问题.
提前致谢.

最佳答案
另一种方法是使用标准的spring安全数据库模式(http://static.springsource.org/spring-security/site/docs/3.0.x/reference/appendix-schema.html)创建表.然后你可以简单地使用spring的jdbc-userservice:

<security:authentication-provider >
    <security:jdbc-user-service data-source-ref="dataSource" /> 
    <security:password-encoder hash="sha" />
</security:authentication-provider>

或者,如果您想使用自己的架构,可以覆盖以下查询:

<security:authentication-provider>
    <securiy:jdbc-user-service 
      data-source-ref="dataSource"
      users-by-username-query="select username, password from users where username=?"
      authorities-by-username-query="select username, roleName from role..."
      role-prefix="ROLE_"
    />
 </security:authentication-provider>

转载注明原文:使用mysql数据库对Spring安全性中的用户进行身份验证? - 代码日志