2013-12-10 21 views
0

我有一個JSF + Spring應用程序。它運行在spring security 2.0.2上。當我嘗試調用myapp/j_spring_security_check時,我沒有例外地解釋發生了什麼,我的應用程序的錯誤頁面出現了。控制檯上的日誌也是空的。直接從JSF應用程序調用j_spring_security_check失敗

這裏是我的春天的安全配置:

<?xml version="1.0" encoding="UTF-8"?> 

<beans:beans 
     xmlns="http://www.springframework.org/schema/security" 
     xmlns:beans="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
          http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
          http://www.springframework.org/schema/security 
          http://www.springframework.org/schema/security/spring-security-2.0.1.xsd"> 

    <http 
      auto-config="true"> 

     <intercept-url pattern="/view/iam/login.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/iam/userSelfRegistration.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/images/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/iam/js/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/css/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/password.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/registration.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/register.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <!--intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/--> 
     <intercept-url pattern="/view/registrationProduct.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/studentRegistration.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/view/iam/concurrentTest.do" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/a4j/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> 
     <intercept-url pattern="/" access="IS_AUTHENTICATED_ANONYMOUSLY"/> <!-- root redirects to deal-mgmt --> 
     <intercept-url pattern="/**" access="ROLE_HOME_VIEW"/> 


     <form-login 
       login-processing-url="/j_spring_security_check" 
       login-page="/view/iam/login.do" 
       default-target-url="/view/iam/deal-mgmt.do" 
       always-use-default-target="false" 
       authentication-failure-url="/view/iam/login.do?login_error=1"/> 

    </http> 

    <beans:bean id="iapUserDetailsService" class="mycompany.mypackage.services.auth.IapUserDetailsService"> 
     <beans:property name="userDao" ref="userDaoServ"/> 
     <beans:property name="userPrivilegeDao" ref="userPrivilegeDaoServ"/> 
     <beans:property name="rolePrivilegeDao" ref="rolePrivilegeDaoServ"/> 
     <beans:property name="userWebseviceClient" ref="iapUserWsClientServ"/> 
    </beans:bean> 

    <beans:bean id="iapPasswordEncoder" class="mycompany.mypackage.services.auth.IapPasswordEncoder"/> 
    <authentication-provider user-service-ref="iapUserDetailsService"> 
     <password-encoder ref="iapPasswordEncoder"/> 
    </authentication-provider> 
</beans:beans> 

我調試的認證,一切似乎是工作的罰款。嘗試呈現目標網址時出現問題。但是,如果在身份驗證通過後,我嘗試點擊該應用的網址,它將重定向到正確的位置(目標網址),但會顯示錯誤頁面。它似乎陷入了某個地方。

讓我知道如果你需要更多的信息(和什麼樣),我會添加它。謝謝!

+0

如果您使用curl或Chrome之類的內容來通過有效請求點擊登錄網址,會發生什麼情況?什麼從服務器返回? – CodeChimp

+0

我使用Fire Fox的POSTER調用了登錄URL,然後我剛剛收回了應用程序錯誤頁面的源代碼。 – jarz

+1

是否有HTTP錯誤代碼?還是那種通用的,就像500? – CodeChimp

回答

0

我終於得到它的工作。我將所有記錄器設置爲ALL,這樣我就可以看到發生了什麼,並且發現我得到的異常來自Spring安全性,說我的用戶沒有所需的角色。我解決了這個問題,現在正在工作。感謝CodeChimp!

+1

歡迎您。我認爲這是做了它的'',但我不是100%肯定的。我從事Spring Security工作已經有一段時間了。 – CodeChimp

相關問題