Hi --
In my shiro.ini file, I have
sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
sessionFactory= com.security.MySimpleSessionFactory
securityManager.sessionManager.sessionFactory = $sessionFactory
securityManager.sessionManager.sessionDAO = $sessionDAO
to define my own "simple session" -- it basically for now just a copy of
shiro's SimpleSessionFactory and SimpleSession classes under new names.
Later, I plan to override the reading and writing.
But when I run, it displays this stacetrace:
javax.servlet.ServletException: Filtered request failed.
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:299)
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
root cause
java.lang.ClassCastException: com.security.MySimpleSession cannot be cast to
org.apache.shiro.session.mgt.SimpleSession
org.apache.shiro.session.mgt.eis.AbstractSessionDAO.assignSessionId(AbstractSessionDAO.java:146)
org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO.doCreate(EnterpriseCacheSessionDAO.java:65)
org.apache.shiro.session.mgt.eis.AbstractSessionDAO.create(AbstractSessionDAO.java:116)
org.apache.shiro.session.mgt.eis.CachingSessionDAO.create(CachingSessionDAO.java:184)
org.apache.shiro.session.mgt.DefaultSessionManager.create(DefaultSessionManager.java:177)
org.apache.shiro.session.mgt.DefaultSessionManager.doCreateSession(DefaultSessionManager.java:158)
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.createSession(AbstractValidatingSessionManager.java:136)
org.apache.shiro.session.mgt.AbstractNativeSessionManager.start(AbstractNativeSessionManager.java:56)
org.apache.shiro.mgt.SessionsSecurityManager.start(SessionsSecurityManager.java:121)
org.apache.shiro.subject.support.DelegatingSubject.getSession(DelegatingSubject.java:306)
org.apache.shiro.web.servlet.ShiroHttpServletRequest.getSession(ShiroHttpServletRequest.java:147)
org.apache.shiro.web.servlet.ShiroHttpServletRequest.getSession(ShiroHttpServletRequest.java:163)
com.server.FxFilter.doFilter(FxFilter.java:139)
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:364)
I'm not sure if what I'm doing is legal -- should I be able to replace
SimpleSession with my own implementation?
Thanks,
Dan
--
View this message in context:
http://shiro-user.582556.n2.nabble.com/Replacing-SimpleSession-tp6821516p6821516.html
Sent from the Shiro User mailing list archive at Nabble.com.