Trunk's currently unstable - this is being discussed on the dev list - Les is hoping to be able to complete the changes today. Use earlier snapshots in the meantime or build locally from a version before Subject refactoring (see svn log).
Kalle On Tue, Aug 25, 2009 at 9:07 AM, Neo Anderson<[email protected]> wrote: > > I download the lastest source from svn and build from scratch using maven > 2.0.9, deploying sample web appplication > (samples-web-1.0-incubating-SNAPSHOT) to tomcat-6.0.20. Now the exception > thrown becomes java.lang.IllegalStateException: Subject context map must > contain a javax.servlet.ServletRequest instance to support Web Subject > construction. > > It looks like the servlet request does not contain in the Map `context' > where if it contains servlet the map should look like > > DefaultWebSubjectFactory.java > context:{org.apache.shiro.mgt.SubjectFactory.SERVLET_RESPONSE > =org.apache.catalina.connector.responsefac...@28305d, > org.apache.shiro.mgt.subjectfactory.servlet_request=org.apache.shiro.web.servlet.shirohttpservletrequ...@198c6f3, > org.apache.shiro.mgt.subjectfactory.session=org.apache.shiro.session.mgt.delegatingsess...@12d8ecd} > > However, the fact is that the context doesn't contain serverlet request > object: > > DefaultWebSubjectFactory.java > context:{org.apache.shiro.mgt.SubjectFactory.AUTHENTICATION_TOKEN=org.apach > e.shiro.authc.UsernamePasswordToken - lonestarr, rememberMe=false > (/0:0:0:0:0:0:0:1), > org.apache.shiro.mgt.subjectfactory.authentication_info=org.apache.shiro.subject.simpleprincipalcollect...@2be4d84a, > org.apache.shiro.mgt.SubjectFactory.AUTHENTICATED=true, > org.apache.shiro.mgt.subjectfactory.subject=org.apache.shiro.web.subject.webdelegatingsubj...@497062} > > So it goes wrong (stacktrace is as below). Is there any possibility may > cause such problem? I appreciate any help. Thank you very much. > > > exception > > javax.servlet.ServletException: Filter execution resulted in an unexpected > Exception (not IOException or ServletException as the Filter api > recommends). Wrapping in ServletException and propagating. > > org.apache.shiro.web.servlet.AdviceFilter.cleanup(AdviceFilter.java:205) > > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:159) > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:191) > > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65) > > org.apache.shiro.web.servlet.ShiroFilter.executeChain(ShiroFilter.java:648) > > org.apache.shiro.web.servlet.ShiroFilter.doFilterInternal(ShiroFilter.java:585) > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:191) > > root cause > > java.lang.IllegalStateException: Subject context map must contain a > javax.servlet.ServletRequest instance to support Web Subject construction. > > org.apache.shiro.web.mgt.DefaultWebSubjectFactory.getServletRequest(DefaultWebSubjectFactory.java:42) > > org.apache.shiro.web.mgt.DefaultWebSubjectFactory.createSubject(DefaultWebSubjectFactory.java:73) > > org.apache.shiro.mgt.DefaultSecurityManager.getSubject(DefaultSecurityManager.java:404) > > org.apache.shiro.mgt.DefaultSecurityManager.createSubject(DefaultSecurityManager.java:274) > > org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:370) > > org.apache.shiro.subject.DelegatingSubject.login(DelegatingSubject.java:245) > > org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:51) > > org.apache.shiro.web.filter.authc.FormAuthenticationFilter.onAccessDenied(FormAuthenticationFilter.java:152) > > org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:135) > > org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:164) > > org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:179) > > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:133) > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:191) > > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65) > > org.apache.shiro.web.servlet.ShiroFilter.executeChain(ShiroFilter.java:648) > > org.apache.shiro.web.servlet.ShiroFilter.doFilterInternal(ShiroFilter.java:585) > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:191) > > > -- > View this message in context: > http://n2.nabble.com/IllegalStateException-Subject-context-map-must-contain-a-javax-servlet-ServletRequest-instance-to-su-tp3511027p3511027.html > Sent from the Shiro User mailing list archive at Nabble.com. >
