2011-04-07 52 views
0

春季登錄頁面的作品,但我的登錄頁面不?春季登錄頁面的作品,但我的登錄頁面不?

我在Spring3中用MySQL構建系統。如果我使用Spring登錄頁面,一切都很好,但是我不喜歡設計,所以我創建了一個login.jsp並更改了我的context.xml文件,但是我不能讓我的login.jsp顯示?

[CODE]<http auto-config="true" use-expressions="true" > 
     <intercept-url pattern="/friends/**" access="hasRole('ROLE_USER')" /> 

    <form-login login-processing-url="/EPA/j_spring_security_check" 
       login-page="/login" 
       authentication-failure-url="/login?login_error=t"/> 
</http>[/CODE] 

下面是錯誤

[CODE][DEBUG,FilterChainProxy] Converted URL to lowercase, from: '/spring_security_login'; to: '/spring_security_login' 
[DEBUG,FilterChainProxy] Candidate is: '/spring_security_login'; pattern is /**; matched=true 
[DEBUG,FilterChainProxy] /spring_security_login at position 1 of 10 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 
[DEBUG,HttpSessionSecurityContextRepository] Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: '[email protected]e24eac: Authentication: org.springframew[email protected]bbe24eac: Principal: [email protected]: Username: guest; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]ffff4c9c: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: BD1B281579EB6F9693C81DD20B0B4E9E; Granted Authorities: ROLE_USER' 
[DEBUG,FilterChainProxy] /spring_security_login at position 2 of 10 in additional filter chain; firing Filter: 'LogoutFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 3 of 10 in additional filter chain; firing Filter: 'UsernamePasswordAuthenticationFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 4 of 10 in additional filter chain; firing Filter: 'BasicAuthenticationFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 5 of 10 in additional filter chain; firing Filter: 'RequestCacheAwareFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 6 of 10 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 7 of 10 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter' 
[DEBUG,AnonymousAuthenticationFilter] SecurityContextHolder not populated with anonymous token, as it already contained: 'org.springframew[email protected]bbe24eac: Principal: [email protected]: Username: guest; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]ffff4c9c: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: BD1B281579EB6F9693C81DD20B0B4E9E; Granted Authorities: ROLE_USER' 
[DEBUG,FilterChainProxy] /spring_security_login at position 8 of 10 in additional filter chain; firing Filter: 'SessionManagementFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 9 of 10 in additional filter chain; firing Filter: 'ExceptionTranslationFilter' 
[DEBUG,FilterChainProxy] /spring_security_login at position 10 of 10 in additional filter chain; firing Filter: 'FilterSecurityInterceptor' 
[DEBUG,ExpressionBasedFilterInvocationSecurityMetadataSource] Converted URL to lowercase, from: '/spring_security_login'; to: '/spring_security_login' 
[DEBUG,ExpressionBasedFilterInvocationSecurityMetadataSource] Candidate is: '/spring_security_login'; pattern is /friends/**; matched=false 
[DEBUG,FilterSecurityInterceptor] Public object - authentication not attempted 
[DEBUG,FilterChainProxy] /spring_security_login reached end of additional filter chain; proceeding with original chain 
[DEBUG,ExceptionTranslationFilter] Chain processed normally 
[DEBUG,SecurityContextPersistenceFilter] SecurityContextHolder now cleared, as request processing completed[/CODE] 
+0

哪裏是錯誤?我只看到DEBUG語句。 – Ritesh 2011-04-07 19:46:55

回答

1

春季安全可能沒有找到您的login.jsp,因此進入默認登錄頁面。

你有映射的地方在你的webapp的適當位置將/login轉換爲login.jsp嗎?類似於

!-- View Resolver for JSPs --> 
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
     <property name="prefix" value="/WEB-INF/jsp/"/> 
     <property name="suffix" value=".jsp"/> 
    </bean> 
+0

@Raghuram ..我確實有這個和JSP是在目錄中,但我得到一個我得到一個文件沒有找到:( – SJS 2011-04-09 15:09:25

+0

我添加此是這個權利??我有一些jsps文件多數民衆贊成爲什麼或你知道一個更好的辦法? – SJS 2011-04-09 17:40:04

0

你的表單登錄有login-processing-url="/EPA/j_spring_security_check但未來在請求是/j_spring_security_check沒有/ EPA。

0

登錄頁面屬性的值不是視圖名稱。

您需要做2件事:
1.將登錄頁面屬性值映射到控制器。例如:

XML:

<form-login login-page="/mylogin.do" ... /> 

控制器:

@RequestMapping("/mylogin.do") 
public String showLoginForm() { 
/* return a view name that will be used by your Viewresolver 
    if you return "login" then view resolver will resolve it to login.jsp 
*/ 
... 
} 

2.授予訪問到登錄頁面:

<intercept-url patter="/mylogin.do" access="permitAll" />