現(xiàn)在我們來用Spring Security檢測一下登錄功能,添加在views下添加一個main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> 我已經(jīng)登錄進(jìn)來了! </body> </html>
在LoginController里添加登錄main的映射,這個方法說明請求main.do的時候,跳轉(zhuǎn)main
@RequestMapping(method=RequestMethod.GET,value="/main.do") public String toMain() { return "main"; }
我們知道前面登錄頁面的action請求為j_spring_security_check,因此我們要設(shè)置該請求應(yīng)該跳轉(zhuǎn)到哪里,因此我們需要在dogstore-security.xml添加<form-login default-target-url="/main.do" />
<http auto-config="true" use-expressions="true"> <intercept-url pattern="/login.do" access="permitAll"/> <intercept-url pattern="/*" access="hasRole('ROLE_USER')"/> <form-login default-target-url="/main.do" /> </http>
這樣如果登錄頁面發(fā)送請求,default-target-url默認(rèn)登錄成功后跳轉(zhuǎn)的url,還有其他屬性可以自己去查查,這樣我們用guest/guest登錄,就可以登錄進(jìn)main.jsp。
順便我們來說說Spring Security實現(xiàn)remember-me功能,修改dogstore-security.xml配置文件,添加<remember-me>聲明。設(shè)置key屬性為jbcpPetStore:
<http auto-config="true" use-expressions="true"> <intercept-url pattern="/login.do" access="permitAll"/> <intercept-url pattern="/*" access="hasRole('ROLE_USER')"/> <form-login default-target-url="/main.do" /> <remember-me key="jbcpPetStore"/> </http>
修改登錄頁面remember-me的checkbox框
<label> <input type="checkbox" id="_spring_security_remember_me" name="_spring_security_remember_me"> Remember me? </label>
當(dāng)我們再次登錄時,如果Remember Me被選中,一個Remember Me的cookie將會設(shè)置在用戶的瀏覽器中。
如果用戶關(guān)閉瀏覽器并重新打開訪問一個JBCP Pets站點(diǎn)上需要認(rèn)證的頁面,他將不會再看到登錄頁了。請親自試一下——登錄并將Remember Me選項選中,收藏首頁,然后重啟瀏覽器并再次訪問首頁。你能發(fā)現(xiàn)你直接登錄成功并不再需要提供憑證。
Remember me功能設(shè)置了一個cookie在用戶的瀏覽器上,它包含一個Base64編碼的字符串,包含以下內(nèi)容:
用戶的名字;
過期的日期/時間;
一個MD5的散列值包括過期日期/時間、用戶名和密碼;
應(yīng)用的key值,是在<remember-me>元素的key屬性中定義的。
這些內(nèi)容將被組合成一個cookie的值存儲在瀏覽器中以備后用。
可以修改兩個常用的配置來改變remember me功能的默認(rèn)行為:
屬性 | 描述 |
Key | 為remember mecookie定義一個唯一的key值,以與我們的應(yīng)用關(guān)聯(lián) |
token-validity-seconds | 定義時間的長度(以秒計)。Remember me的cookie將在將被視為認(rèn)證合法,并且也將用于設(shè)置cookie的過期時間。 |
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:跟我學(xué)習(xí)SpringSecurity--在線寵物商店開發(fā)(四)-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article40/dehoeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、建站公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、軟件開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容