gpt4 book ai didi

mysql - 在 Spring Security 中使用 mysql 数据库对用户进行身份验证?

转载 作者:可可西里 更新时间:2023-11-01 06:40:14 24 4
gpt4 key购买 nike

我想使用 Spring Security 在我的 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 Security 数据库模式 (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 Security 中使用 mysql 数据库对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com