Spring Security入门:登陆用户的配置

security就是安全机制,安全就是访问权限的设置,最近自己看文档稍微整理了下用户登陆的配置。欢迎补充,谢绝口水。

一: 最简单的你可以这么配置

<authentication-manager>
    <authentication-provider>
      <user-service>
        <user name="jimi" password="jimispassword" authorities="ROLE_USER, ROLE_ADMIN" />
        <user name="bob" password="bobspassword" authorities="ROLE_USER" />
      </user-service>
    </authentication-provider>
  </authentication-manager>

二:可以使用properties文件配置

<authentication-manager> 
<authentication-provider>
<user-service id="userDetailsService" properties="classpath:user.properties"/>
</authentication-provider>
</authentication-manager>

自己做实验的时候, 照着文档敲, 出现错误, 后来发现properties属性中指定配置文件的时候classpath要加或者你必须指定明确配置文件的路径

属性文件需要包含下面格式的内容

username=password,grantedAuthority[,grantedAuthority][,enabled|disabled]
比如 :

jimi=jimispassword,ROLE_USER,ROLE_ADMIN,enabled
bob=bobspassword,ROLE_USER,enabled


三:从数据库中读取用户(JdbcDaoImpl)

1  配置

(1)

扫描二维码关注公众号,回复: 2027799 查看本文章
<authentication-manager> 
<authentication-provider>
<jdbc-user-service data-source-ref="securityDataSource"/>
</authentication-provider>
</authentication-manager>

其中securityDataSource 就是你在applicationcontext中配置的数据源

(2)
你还可以直接在security中直接配置数据源

<authentication-manager> 
<authentication-provider user-service-ref='myUserDetailsService'/>
</authentication-manager>

<b:bean id="myUserDetailsService"
class
="org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl">
<b:property name="dataSource" ref="dataS"/>
</b:bean>
2 数据库

文档上给出的表是这样的 

createtable users( 
username varchar_ignorecase(
50) notnullprimarykey,
password varchar_ignorecase(
50) notnull,
enabled boolean
notnull);

createtable authorities (
username varchar_ignorecase(
50) notnull,
authority varchar_ignorecase(
50) notnull,
constraint fk_authorities_users foreignkey(username) references users(username));
createuniqueindex ix_auth_username on authorities (username,authority);

    不同数据库不一样 稍作改动即可

Spring Security 的详细介绍请点这里
Spring Security 的下载地址请点这里 

猜你喜欢

转载自www.linuxidc.com/Linux/2016-07/132854.htm