Springsecurity之CasAuthenticationFilter

    注:分析的版本是Springsecurity4.3.x.RELEASEjava

    因爲用Springsecurity來使用單點登陸,因此看了下CasAuthenticationFilter,記錄下本身的看後結果吧。git

    先上一張圖,是CasAuthenticationFilter的類繼承圖,以下圖1所示:github

                                                               圖1spring

    AbstractAuthenticationProcessingFilter中使用了Template模式,定義了通用的模板,而子類來實現特定的方法,下面來看CasAuthenticationFilter的doFilter方法時序圖,原圖見個人Githubcode

                                     圖2 CasAuthenticationFilter的doFilter調用時序圖blog

    圖2中的步驟9,會從request中獲得ticket的值做爲password,_cas_stateful_做爲username,而後建立UsernamePasswordAuthenticationToken,並將這個UsernamePasswordAuthenticationToken傳遞給AuthenticationManager。繼承

 

思考:get

  • AbstractAuthenticationProcessingFilter的doFilter方法中有以下List-1中的內容,而continueChainBeforeSuccessfulAuthentication
    的默認是false,CasAuthenticationFilter也沒有修改這個值,那麼若是這個Filter以後,還有其它Filter,這些Filter是否不會被執行了?

    List-1it

// Authentication success
		if (continueChainBeforeSuccessfulAuthentication) {
			chain.doFilter(request, response);
		}
  • CasAuthenticationFilter是在什麼地方被加入到Springsecurity的Filter鏈的?
相關文章
相關標籤/搜索