欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
spring security 11種過(guò)濾器介紹 - Eryk - JavaEye技術(shù)網(wǎng)站

spring security 11種過(guò)濾器介紹

1.HttpSessionContextIntegrationFilter

 

位于過(guò)濾器頂端,第一個(gè)起作用的過(guò)濾器。

 

用途一,在執行其他過(guò)濾器之前,率先判斷用戶(hù)的session中是否已經(jīng)存在一個(gè)SecurityContext了。如果存在,就把SecurityContext拿出來(lái),放到SecurityContextHolder中,供Spring Security的其他部分使用。如果不存在,就創(chuàng )建一個(gè)SecurityContext出來(lái),還是放到SecurityContextHolder中,供Spring Security的其他部分使用。

 

用途二,在所有過(guò)濾器執行完畢后,清空SecurityContextHolder,因為SecurityContextHolder是基于ThreadLocal的,如果在操作完成后清空ThreadLocal,會(huì )受到服務(wù)器的線(xiàn)程池機制的影響。

-------------------------------------------------------------------------------------------- 

2.LogoutFilter

 

只處理注銷(xiāo)請求,默認為/j_spring_security_logout。

 

用途是在用戶(hù)發(fā)送注銷(xiāo)請求時(shí),銷(xiāo)毀用戶(hù)session,清空SecurityContextHolder,然后重定向到注銷(xiāo)成功頁(yè)面??梢耘crememberMe之類(lèi)的機制結合,在注銷(xiāo)的同時(shí)清空用戶(hù)cookie。

--------------------------------------------------------------------------------------------

3.AuthenticationProcessingFilter

 

處理form登陸的過(guò)濾器,與form登陸有關(guān)的所有操作都是在此進(jìn)行的。

默認情況下只處理/j_spring_security_check請求,這個(gè)請求應該是用戶(hù)使用form登陸后的提交地址,form所需的其他參數可以參考:

 

 

此過(guò)濾器執行的基本操作時(shí),通過(guò)用戶(hù)名和密碼判斷用戶(hù)是否有效,如果登錄成功就跳轉到成功頁(yè)面(可能是登陸之前訪(fǎng)問(wèn)的受保護頁(yè)面,也可能是默認的成功頁(yè)面),如果登錄失敗,就跳轉到失敗頁(yè)面。

 

<form action="${pageContext.request.contextPath}/j_spring_security_check" style="width:260px;text-align:center;">
  <fieldset>
    <legend>登陸</legend>
    用戶(hù): <input type="text" name="j_username" style="width:150px;" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}"/><br />
    密碼: <input type="password" name="j_password" style="width:150px;" /><br />
    <input type="checkbox" name="_spring_security_remember_me" />兩周之內不必登陸<br />
    <input type="submit" value="登陸"/>
    <input type="reset" value="重置"/>
  </fieldset>
</form>

 

 

 

 

 

/j_spring_security_check,提交登陸信息的URL地址。

自定義form時(shí),要把form的action設置為/j_spring_security_check。注意這里要使用絕對路徑,避免登陸頁(yè)面存放的頁(yè)面可能帶來(lái)的問(wèn)題。

 

j_username,輸入登陸名的參數名稱(chēng)。

 

j_password,輸入密碼的參數名稱(chēng)

 

_spring_security_remember_me,選擇是否允許自動(dòng)登錄的參數名稱(chēng)。

可以直接把這個(gè)參數設置為一個(gè)checkbox,無(wú)需設置value,Spring Security會(huì )自行判斷它是否被選中。

--------------------------------------------------------------------------------------------

4.DefaultLoginPageGeneratingFilter

 

此過(guò)濾器用來(lái)生成一個(gè)默認的登錄頁(yè)面,默認的訪(fǎng)問(wèn)地址為/spring_security_login,這個(gè)默認的登錄頁(yè)面雖然支持用戶(hù)輸入用戶(hù)名,密碼,也支持rememberMe功能,但是因為太難看了,只能是在演示時(shí)做個(gè)樣子,不可能直接用在實(shí)際項目中。

 

自定義登陸頁(yè)面

<http auto-config='true'>
    <intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />

    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/**" access="ROLE_USER" />
    <form-login login-page="/login.jsp"

                authentication-failure-url="/login.jsp?error=true"
                default-target-url="/" />
</http>

--------------------------------------------------------------------------------------------

5.BasicProcessingFilter

 

此過(guò)濾器用于進(jìn)行basic驗證,功能與AuthenticationProcessingFilter類(lèi)似,只是驗證的方式不同。

添加basic認證,去掉auto-config="true",并加上<http-basic />

<http auto-config="true">
    <http-basic />
    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/" access="ROLE_USER" />
</http>
---------------------------------------------------------------------------------------------

6.SecurityContextHolderAwareRequestFilter

 

此過(guò)濾器用來(lái)包裝客戶(hù)的請求。目的是在原始請求的基礎上,為后續程序提供一些額外的數據。比如getRemoteUser()時(shí)直接返回當前登陸的用戶(hù)名之類(lèi)的。

---------------------------------------------------------------------------------------------

7.RememberMeProcessingFilter

 

此過(guò)濾器實(shí)現RememberMe功能,當用戶(hù)cookie中存在rememberMe的標記,此過(guò)濾器會(huì )根據標記自動(dòng)實(shí)現用戶(hù)登陸,并創(chuàng )建SecurityContext,授予對應的權限。

在配置文件中使用auto-config="true"就會(huì )自動(dòng)啟用rememberMe

實(shí)際上,Spring Security中的rememberMe是依賴(lài)cookie實(shí)現的,當用戶(hù)在登錄時(shí)選擇使用rememberMe,系統就會(huì )在登錄成功后將為用戶(hù)生成一個(gè)唯一標識,并將這個(gè)標識保存進(jìn)cookie中,我們可以通過(guò)瀏覽器查看用戶(hù)電腦中的cookie。

---------------------------------------------------------------------------------------------

8.AnonymousProcessingFilter

為了保證操作統一性,當用戶(hù)沒(méi)有登陸時(shí),默認為用戶(hù)分配匿名用戶(hù)的權限。

在配置文件中使用auto-config="true"就會(huì )啟用匿名登錄功能。在啟用匿名登錄之后,如果我們希望允許未登錄就可以訪(fǎng)問(wèn)一些資源,可以在進(jìn)行如下配置。

<http auto-config='true'>
    <intercept-url pattern="/" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/**" access="ROLE_USER" />
</http>

設置成 ROLE_ANONYMOUS 也可以。

 

<http auto-config='true'>
    <intercept-url pattern="/" filters="none" />
    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/**" access="ROLE_USER" />
</http>

filters="none"表示當我們訪(fǎng)問(wèn)“/”時(shí),是不會(huì )使用任何一個(gè)過(guò)濾器去處理這個(gè)請求的,它可以實(shí)現無(wú)需登錄即可訪(fǎng)問(wèn)資源的效果,但是因為沒(méi)有使用過(guò)濾器對請求進(jìn)行處理,所以也無(wú)法利用安全過(guò)濾器為我們帶來(lái)的好處,最簡(jiǎn)單的,這時(shí)SecurityContext內再沒(méi)有保存任何一個(gè)權限主體了,我們也無(wú)法從中取得主體名稱(chēng)以及對應的權限信息。

---------------------------------------------------------------------------------------------

9.ExceptionTranslationFilter

 

此過(guò)濾器的作用是處理中FilterSecurityInterceptor拋出的異常,然后將請求重定向到對應頁(yè)面,或返回對應的響應錯誤代碼。

---------------------------------------------------------------------------------------------

10.SessionFixationProtectionFilter

 

防御會(huì )話(huà)偽造攻擊。

解決session fix的問(wèn)題其實(shí)很簡(jiǎn)單,只要在用戶(hù)登錄成功之后,銷(xiāo)毀用戶(hù)的當前session,并重新生成一個(gè)session就可以了。

<http auto-config='true' session-fixation-protection="none">
    <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/**" access="ROLE_USER" />
</http>

 

session-fixation-protection的值共有三個(gè)可供選擇,none,migrateSession和newSession。默認使用的是migrationSession
---------------------------------------------------------------------------------------------

11.FilterSecurityInterceptor

 

用戶(hù)的權限控制都包含在這個(gè)過(guò)濾器中。

功能一:如果用戶(hù)尚未登陸,則拋出AuthenticationCredentialsNotFoundException“尚未認證異常”。

功能二:如果用戶(hù)已登錄,但是沒(méi)有訪(fǎng)問(wèn)當前資源的權限,則拋出AccessDeniedException“拒絕訪(fǎng)問(wèn)異常”。

功能三:如果用戶(hù)已登錄,也具有訪(fǎng)問(wèn)當前資源的權限,則放行。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
tomcat web.xml配置
Appfuse1.9.3 for springMVC源碼解讀(1)-- 從web.xml
Servlet2.4中web.xml配置及說(shuō)明
web.xml中<security-constraint>和四種認證類(lèi)型
serverlet配置文件
Spring Security3的使用方法有4種
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久