最近項目中要使用到spring-security,可能研究的不夠透徹 這些知識點 都是從網上copy的 或許能對需要的朋友一些幫助。如若喜歡歡迎轉載!
1、在spring-security官網下載下傳最新jar然後拷貝jar到項目的lib下。
2、在classpath下添加security配置檔案,例如applicationContext-security.xml.網上現在大多都是2.0的schema. 要根據自己使用的版本而定.下面是3.0的schema.
Xml代碼
<? xml version = "1.0" encoding = "UTF-8" ?>
< 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.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd" >
</ beans:beans >
<?xml version="1.0" encoding="UTF-8"?>
<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.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
</beans:beans>
3、然後在web.xml中添加配置,内容如下:
Xml代碼
<!-- spring security -->
< context-param >
< param-name > contextConfigLocation </ param-name >
< param-value > classpath*:/applicationContext*.xml </ param-value >
</ context-param >
< filter >
< filter-name > springSecurityFilterChain </ filter-name >
< filter-class > org.springframework.web.filter.DelegatingFilterProxy </ filter-class >
</ filter >
< filter-mapping >
< filter-name > springSecurityFilterChain </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< listener >
< listener-class > org.springframework.web.context.ContextLoaderListener
</ listener-class > </ listener >
<!-- spring security -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/applicationContext*.xml
</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
配置起來很簡單,由于我的security是整合到現有項目中的.一些jar可能已經存在. 單獨做demo的朋友配置的時候可能會出現問題.
本想分開發掙點積分..但怕大家看起來累.. 就發到一起吧.. (*^__^*)
使用篇
1、建立login.jsp頁面.内容如下:
Html代碼
< form action = "<%=path %>/j_spring_security_check" method = "post" > USERNAME: < input type = "text" name = "j_username" value = "${sessionScope['SPRING_SECURITY_LAST_USERNAME']}" /> < br /> PASSWORD: < input type = "password" name = "j_password" value = "" /> < br />
< input type = "checkbox" name = "_spring_security_remember_me" /> 兩周之内不必登陸 < br />
< input type = "submit" >
</ form >
<form action="<%=path %>/j_spring_security_check" method="post">
USERNAME:<input type="text" name="j_username" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}" /><br/>
PASSWORD:<input type="password" name="j_password" value="" /><br/>
<input type="checkbox" name="_spring_security_remember_me" />兩周之内不必登陸<br/>
<input type="submit">
</form>
j_spring_security_check : 為security驗證中心(不知道怎麼說合适.暫時這麼了解吧..).
j_username: 驗證使用者名;
j_password: 驗證密碼;
${sessionScope['SPRING_SECURITY_LAST_USERNAME']}:使用最後一次登入使用者名.
_spring_security_remember_me:記住我...