2015-01-14 91 views
0

我想了解春季MVC和休眠提供彈簧安全到Web應用程序的集成。春季安全委派過濾器代理或分派器servlet

我的問題是如果我們在我們的應用程序中使用Spring安全性,那麼流程將如何進行,是代理servlet會首先獲取用戶請求或其彈簧調度程序servlet?

我真的很困惑,流程如何。

Spring調度程序servlet負責過濾代理((((或)))它的延遲過濾代理,然後是調度程序servlet。

回答

0

通常在servlets之前總是調用filter's。當您有幾個過濾器和一個匹配給定的小服務程序URL patternall filters are executed first in the order of <filter-mapping> definitionsservlet is executed last

filter chain反映了過濾器

對於更具體的細節的順序,please read this

+0

如果authenticationmanager需要對像數據庫(sql,oracle..etc)那樣的userdetails進行身份驗證,它將如何轉到applicationcontext數據源bean與數據庫建立連接,然後返回到spring-security.xml要爲給定的用戶名和密碼進行身份驗證????? –

+0

@swethagiddaluru每個帖子請提出一個問題,否則發帖會說別的和內部的東西。 –

0

這部分告訴你,這個問題是有關我的問題的有關應用程序上下文和春季安全上下文

流回答
authentication-manager> 
<authentication-provider> 
    <jdbc-user-service data-source-ref="securityDataSource"/> 
</authentication-provider> 

其中「securityDataSource」是應用程序上下文中的DataSource bean的名稱,指向包含標準Spring Security用戶數據表的數據庫。所以,現在

這是我在這個環節發現..

spring documentation

:另外,你可以配置一個Spring Security的JdbcDaoImpl豆和點,使用user-service-ref屬性我的問題在於,在繼續使用所有過濾器之前,這裏的流程再次發生了變化(從spring-security.xml返回到applicationcontext.xml)。

+0

@ ankur-singhal ...這是我迷惑的確切問題,我得到了你的答案,就像在servlets之前總是調用過濾器一樣。但是在這裏,spring-securtiy.xml在應用程序中基於數據源bean與數據庫建立連接context.xml,如果流程來回移動(即,從security.xml到application.xml,其中數據源bean與所有bean分開定義,並再次回到彈簧安全性以執行剩餘的過濾器,如passcodeencoder),那麼可以。 –