gpt4 book ai didi

java - Spring Security 动态登录

转载 作者:行者123 更新时间:2023-11-28 23:31:23 25 4
gpt4 key购买 nike

我有一个文件bean:

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">

<http auto-config="true">
<intercept-url pattern="/secured/*" access="ROLE_USER" />
<form-login login-processing-url="/login" login-page="/loginPage"
username-parameter="username" password-parameter="password"
default-target-url="/secured/mypage" authentication-failure-url="/loginPage?auth=fail" />
<logout logout-url="/logout" logout-success-url="/logoutPage" />
</http>

<authentication-manager>
<authentication-provider>
<user-service>
<user name="srccodes" password="password" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>

我有一个登录页面,我从外部数据库检查登录密码,登录名与“srccodes”密码=“密码”不同。我怎样才能动态地添加用户并对他产生影响,例如 ROLE_USER

最佳答案

检查这个example根据您的示例,您将密码和用户详细信息存储在 xml 中!它将从数据库 tabke 中获取用户凭据
1.您必须更改身份验证管理器的设置

<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query=
"select username,password, enabled from users where username=?"
authorities-by-username-query=
"select username, role from user_roles where username =? " />
</authentication-provider>
</authentication-manager>

并设置与数据库的连接

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
  1. 如果你想创建用户你必须插入新记录

    users 表和user_roles

关于java - Spring Security 动态登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29895787/

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