java - Spring 登录页面可以工作,但我的登录页面不行?

标签 java spring-mvc spring-security

Spring 登录页面可以工作,但我的登录页面不行?

我正在 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: 'org.springframework.security.core.context.SecurityContextImpl@bbe24eac: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@bbe24eac: Principal: org.springframework.security.core.userdetails.User@5e22dd8: Username: guest; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@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.springframework.security.authentication.UsernamePasswordAuthenticationToken@bbe24eac: Principal: org.springframework.security.core.userdetails.User@5e22dd8: Username: guest; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@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]

最佳答案

Spring security 可能找不到您的 login.jsp,因此会转到默认登录页面。

您是否在网络应用程序中的适当位置映射了将 /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>

关于java - Spring 登录页面可以工作,但我的登录页面不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583380/

相关文章:

hibernate - Spring Security(和 hibernate )中基于组织层次结构的访问控制

web-applications - 我的应用程序无法打开ServletContext资源

java - java中属性文件相同的键具有不同的值

java - Red5 - 从应用程序服务器独立调用客户端方法

java - Android 无法解析的日期(在偏移量 0 处)

java - java.lang.UnsupportedOperationException:未由DistributedFileSystem FileSystem实现实现

spring-security - Spring Security 5 OAuth 2 社交注销

java - 枚举类型的约束泛型类型以实现某些接口(interface)

java - 在服务器上上传一个 servlet 页面

spring - 在 Spring 中使用 @PropertyResource 访问多个属性文件