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)
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="securityDataSource"/>
</authentication-provider>
</authentication-manager>
其中securityDataSource 就是你在applicationcontext中配置的數據源
(2)
你還可以直接在security中直接配置數據源
<authentication-manager>2 數據庫
<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>
文檔上給出的表是這樣的
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 Security3.1高級詳細開發指南 PDF http://www.linuxidc.com/Linux/2016-05/131482.htm
Spring Security 學習之數據庫認證 http://www.linuxidc.com/Linux/2014-02/97407.htm
Spring Security 學習之LDAP認證 http://www.linuxidc.com/Linux/2014-02/97406.htm
Spring Security 學習之OpenID認證 http://www.linuxidc.com/Linux/2014-02/97405.htm
Spring Security 學習之X.509認證 http://www.linuxidc.com/Linux/2014-02/97404.htm
Spring Security 學習之HTTP基本認證和HTTP摘要認證 http://www.linuxidc.com/Linux/2014-02/97403.htm
Spring Security 學習之HTTP表單驗證 http://www.linuxidc.com/Linux/2014-02/97402.htm
Spring Security異常之You must provide a configuration attribute http://www.linuxidc.com/Linux/2015-02/113364.htm
Spring Security 的詳細介紹:請點這裡
Spring Security 的下載地址:請點這裡