首页 文章

spring mvc with ssl enabled - 没有可用的会话属性

提问于
浏览
0

我的spring MVC项目有问题 . 在我的本地计算机上,我的项目运行时没有在spring安全性中配置SSL,表单提交工作正常 . 但是,如果我启用SSL并将项目上传到我的服务器,我会在每个表单上提交以下异常:

org.springframework.web.HttpSessionRequiredException:预期的会话属性'xxxxx'org.springframework.web.method.annotation.ModelFactory.initModel(ModelFactory.java:114)org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter .invokeHandleMethod(RequestMappingHandlerAdapter.java:758)org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter) .java:83)org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)org.springframework.web.servlet.FrameworkServlet .processRequest(FrameworkServlet.java:966)org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)javax.servlet.http.HttpServlet.service(httpServlet.java:646)org.springfram ework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)javax.servlet.http.HttpServlet.service(HttpServlet.java:727)com.github.dandelion.core.web.DandelionFilter.doFilter(DandelionFilter.java: 138)org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:177)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.springframework.web.filter.HiddenHttpMethodFilter . doFilterInternal(HiddenHttpMethodFilter.java:77)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.tuckey.web.filters.urlrewrite.gzip.GzipFilter.doFilter(GzipFilter.java:85)org . springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330)org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)org.springframework.security.web.access . intercept.FilterSecurityInterceptor .doFilter(FilterSecurityInterceptor.java:84)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)org .springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain .doFilter(FilterChainProxy.java:342)org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org .springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)org.springframework.security.web.FilterChainPro xy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java: 342)org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web . session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java: 199)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springfram ework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:105)org.springframework.web.filter.OncePerRequestFilter . doFilter(OncePerRequestFilter.java:107)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)org . springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter( SecurityContextPersistenceFilter.java:87)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.context.request.async.WebAsyncManagerIntegratio nFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org . springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)de.eseven.bleckmannschulze.profiler.core . security.AjaxSessionTimeoutFilter.doFilter(AjaxSessionTimeoutFilter.java:38)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)org.springfra mework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)org.tuckey.web.filters.urlrewrite.RuleChain.doRules( RuleChain.java:145)org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)org.springframework . web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

我不知道瓦特在这里出错了 . 登录和普通的get请求有效,但是如果我提交一个带有session属性的表单,我会得到这个异常 .

得到一些提示,我可以研究我的问题,这将是很好的 .

1 回答

  • 0

    谢谢..我现在解决了我的问题..问题是,我使用自定义会话属性存储并使用 @EnableWebMvcSecurity 注释我的安全配置 .

    在我的本地机器上,我的自定义商店取代了spring安全商店 . 但在服务器上它以其他方式 . Spring安全商店取代了我的自定义商店 . 我不知道它以不同的顺序声明它的方式 . 现在我改为 @EnableWebSecurity 一切正常!

相关问题