繁体   English   中英

Spring Security动态登录

[英]Spring security login dynamically

我有一个文件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>

我有一个登录页面,我从extern数据库中检查登录密码,该登录名与“ srccodes” password =“ password”不同。 如何动态添加用户并影响他,例如ROLE_USER

检查此示例根据您的示例,您将密码和用户详细信息存储在xml中! 它将从数据库选项中获取用户凭据
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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM