2013-02-18 61 views
1

ENV: 3.1.3春春 安全:3.1.3 春LDAP:1.3.1 JDK1.6POST登錄處理的URL產量HTTP/404

問題: 我得到一個404在我的登錄處理網址。

詳細說明: 我有三個HTTP截距塊:一個公共之一,用於攔截所述第二個和管理員 安全網址(使用認證管理器1),第三個爲普通用戶 (使用認證管理器2) 。

當http攔截塊1中的登錄表單將證書發佈到表單登錄的登錄處理url時,它會產生404.我確實得到這個 - 因爲表單登錄 宣佈登錄處理url ,那過濾器鏈不應該識別那個URL?

另外,shluld我明確地在表單的登錄處理url上做了「permitAll」,或者是 在封面下自動完成的?

最後,有不同的http攔截器塊有不同的 登錄處理url? (我看不出爲什麼 - 但我總是問)。

CONFIGS:

春季安全配置:

//... 
<debug /> 
<global-method-security secured-annotations="enabled" /> 
<http pattern="/public/**" security="none"/> 
<http use-expressions="true" pattern="/protected/x/support/**" authentication-manager-ref="lAdminAuthManager"> 
    <intercept-url pattern="/protected/x/support/**" access="hasRole('ROLE_ADMIN')"/> 
    <form-login login-page="/public/login.jsp" 
      login-processing-url="/protected/x/support/j_spring_security_check" 
      username-parameter="username" 
      password-parameter="password" 
      authentication-failure-url="/login/form?error" 
      default-target-url="/protected/x/support/index.html"/> 
</http> 
<http use-expressions="true" entry-point-ref="lUserLoginEntryPoint"> 
    <intercept-url pattern="/protected/x/foo1/**" access="permitAll"/> 
    <intercept-url pattern="/protected/x/foo2/**" access="permitAll"/> 
    <intercept-url pattern="/j_spring_security_check" access="permitAll"/> 
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')"/> 
    <custom-filter ref="lUserLoginFilter" position="FORM_LOGIN_FILTER"/> 
    <custom-filter ref="lPreauthAuthenticationFilter" position="PRE_AUTH_FILTER" /> 
</http> 

//... 

任何提示不勝感激!

感謝名單,

烏瑪

回答