You can disable session validation: https://shiro.apache.org/session-management.html#disabling-session-validation
On Wed, Mar 15, 2017 at 5:19 PM, Harshdeep S Jawanda <[email protected]> wrote: > Seems my email from 5 minutes ago may not have gotten send properly... > strange. Anyway: > > When using DefaultWebSessionManager: https://gist.github.com/hsjawa > nda/9d360ef4e890e0ee7f61f184d4ca42b1 > > When using ServletContainerSessionManager: https://gist.github.com/hsjawa > nda/711e5ef8cc4ed95138b725f3c3625c74 > > Regards, > Harshdeep S Jawanda > > On 16 March 2017 at 01:26, Brian Demers <[email protected]> wrote: > >> The formatting of the stacktraces is missing in the email, making it >> difficult to read. >> Can you reformat it, or use a Github gist ? >> >> On Tue, Mar 14, 2017 at 1:34 PM, Harshdeep S Jawanda <[email protected] >> > wrote: >> >>> Do the stack traces give you any idea? >>> >>> Sent from my Moto X2 >>> >>> On 14-Mar-2017 21:31, "Harshdeep S Jawanda" <[email protected]> wrote: >>> >>>> Second try... >>>> >>>> When using DefaultWebSessionManager: >>>> >>>> Uncaught exception from servlet >>>> java.security.AccessControlException: access denied >>>> ("java.lang.RuntimePermission" "modifyThreadGroup") >>>> at java.security.AccessControlContext.checkPermission(AccessCon >>>> trolContext.java:484) >>>> at java.security.AccessController.checkPermission(AccessControl >>>> ler.java:698) >>>> at java.lang.SecurityManager.checkPermission(SecurityManager.ja >>>> va:549) >>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkPermission(CustomSecurityManager.java:55) >>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkAccess(CustomSecurityManager.java:136) >>>> at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) >>>> at java.lang.Thread.init(Thread.java:391) >>>> at java.lang.Thread.init(Thread.java:349) >>>> at java.lang.Thread.<init>(Thread.java:461) >>>> at org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler$1.newThread(ExecutorServiceSessionValidationSched >>>> uler.java:87) >>>> at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(Thread >>>> PoolExecutor.java:600) >>>> at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPool >>>> Executor.java:943) >>>> at java.util.concurrent.ThreadPoolExecutor.ensurePrestart(Threa >>>> dPoolExecutor.java:1635) >>>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>>> ute(ScheduledThreadPoolExecutor.java:307) >>>> at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>>> ixedRate(ScheduledThreadPoolExecutor.java:566) >>>> at java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>>> vice.scheduleAtFixedRate(Executors.java:695) >>>> at org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler.enableSessionValidation(ExecutorServiceSessionVal >>>> idationScheduler.java:92) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidationIfNecessary(AbstractValidatingSessi >>>> onManager.java:86) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.doGetSession(AbstractValidatingSessionManager.java:114) >>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>>> okupSession(AbstractNativeSessionManager.java:108) >>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>>> tSession(AbstractNativeSessionManager.java:100) >>>> at org.apache.shiro.mgt.SessionsSecurityManager.getSession(Sess >>>> ionsSecurityManager.java:125) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSe >>>> ssion(DefaultSecurityManager.java:456) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>>> efaultSecurityManager.java:442) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.createSubject(De >>>> faultSecurityManager.java:338) >>>> at org.apache.shiro.subject.Subject$Builder.buildSubject(Subjec >>>> t.java:846) >>>> at org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubj >>>> ect(WebSubject.java:148) >>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubje >>>> ct(AbstractShiroFilter.java:292) >>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInt >>>> ernal(AbstractShiroFilter.java:359) >>>> at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(O >>>> ncePerRequestFilter.java:125) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyF >>>> ilter.java:48) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>>> Filter(ParseBlobUploadFilter.java:125) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilt >>>> er(SaveSessionFilter.java:37) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>>> .doFilter(TransactionCleanupFilter.java:48) >>>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>>> r(ServletHandler.java:1157) >>>> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl >>>> er.java:388) >>>> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHa >>>> ndler.java:216) >>>> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandl >>>> er.java:182) >>>> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandl >>>> er.java:765) >>>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext. >>>> java:418) >>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.han >>>> dle(AppVersionHandlerMap.java:257) >>>> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapp >>>> er.java:152) >>>> at org.mortbay.jetty.Server.handle(Server.java:326) >>>> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnectio >>>> n.java:542) >>>> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComple >>>> te(HttpConnection.java:923) >>>> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>>> ailable(RpcRequestParser.java:76) >>>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >>>> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>>> r.serviceRequest(JettyServletEngineAdapter.java:145) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchServletRequest(JavaRuntime.java:559) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchRequest(JavaRuntime.java:519) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.ru >>>> n(JavaRuntime.java:489) >>>> at com.google.tracing.TraceContext$TraceContextRunnable.runInCo >>>> ntext(TraceContext.java:453) >>>> at com.google.tracing.TraceContext$TraceContextRunnable$1.run(T >>>> raceContext.java:460) >>>> at com.google.tracing.CurrentContext.runInContext(CurrentContex >>>> t.java:293) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContextNoUnref(TraceContext.java:319) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContext(TraceContext.java:311) >>>> at com.google.tracing.TraceContext$TraceContextRunnable.run(Tra >>>> ceContext.java:457) >>>> at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run( >>>> ThreadGroupPool.java:238) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> When using ServletContainerSessionManager: >>>> >>>> Failed startup of context com.google.apphosting.utils.je >>>> tty.RuntimeAppEngineWebAppContext@6ea1bf09{/,/base/data/home >>>> /apps/s~hsjplowns/0-7-3-hp-perf1.399822149927584543} >>>> org.apache.shiro.config.ConfigurationException: Unable to determine if >>>> property [sessionManager.sessionIdCookie.maxAge] represents a >>>> java.util.Set >>>> at org.apache.shiro.config.ReflectionBuilder.isTypedProperty(Re >>>> flectionBuilder.java:264) >>>> at org.apache.shiro.config.ReflectionBuilder.applyProperty(Refl >>>> ectionBuilder.java:544) >>>> at org.apache.shiro.config.ReflectionBuilder.applySinglePropert >>>> y(ReflectionBuilder.java:206) >>>> at org.apache.shiro.config.ReflectionBuilder.applyProperty(Refl >>>> ectionBuilder.java:167) >>>> at org.apache.shiro.config.ReflectionBuilder.buildObjects(Refle >>>> ctionBuilder.java:124) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.buildInsta >>>> nces(IniSecurityManagerFactory.java:161) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>> rityManager(IniSecurityManagerFactory.java:124) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>> rityManager(IniSecurityManagerFactory.java:102) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>> ance(IniSecurityManagerFactory.java:88) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>> ance(IniSecurityManagerFactory.java:46) >>>> at org.apache.shiro.config.IniFactorySupport.createInstance(Ini >>>> FactorySupport.java:123) >>>> at org.apache.shiro.util.AbstractFactory.getInstance(AbstractFa >>>> ctory.java:47) >>>> at org.apache.shiro.web.env.IniWebEnvironment.createWebSecurity >>>> Manager(IniWebEnvironment.java:203) >>>> at org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebE >>>> nvironment.java:99) >>>> at org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnviro >>>> nment.java:92) >>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.jav >>>> a:45) >>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.jav >>>> a:40) >>>> at org.apache.shiro.web.env.EnvironmentLoader.createEnvironment >>>> (EnvironmentLoader.java:221) >>>> at org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(E >>>> nvironmentLoader.java:133) >>>> at org.apache.shiro.web.env.EnvironmentLoaderListener.contextIn >>>> itialized(EnvironmentLoaderListener.java:58) >>>> at org.mortbay.jetty.handler.ContextHandler.startContext(Contex >>>> tHandler.java:548) >>>> at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) >>>> at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppCo >>>> ntext.java:1250) >>>> at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHand >>>> ler.java:517) >>>> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext >>>> .java:467) >>>> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCy >>>> cle.java:50) >>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.cre >>>> ateHandler(AppVersionHandlerMap.java:203) >>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.get >>>> Handler(AppVersionHandlerMap.java:176) >>>> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>>> r.serviceRequest(JettyServletEngineAdapter.java:133) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchServletRequest(JavaRuntime.java:559) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchRequest(JavaRuntime.java:519) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.ru >>>> n(JavaRuntime.java:489) >>>> at com.google.tracing.TraceContext$TraceContextRunnable.runInCo >>>> ntext(TraceContext.java:453) >>>> at com.google.tracing.TraceContext$TraceContextRunnable$1.run(T >>>> raceContext.java:460) >>>> at com.google.tracing.CurrentContext.runInContext(CurrentContex >>>> t.java:293) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContextNoUnref(TraceContext.java:319) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContext(TraceContext.java:311) >>>> at com.google.tracing.TraceContext$TraceContextRunnable.run(Tra >>>> ceContext.java:457) >>>> at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run( >>>> ThreadGroupPool.java:238) >>>> at java.lang.Thread.run(Thread.java:745) Caused by: >>>> java.lang.NoSuchMethodException: Unknown property 'sessionIdCookie' on >>>> class 'class org.apache.shiro.web.session.m >>>> gt.ServletContainerSessionManager' >>>> at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProp >>>> erty(PropertyUtilsBean.java:1257) >>>> at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProp >>>> erty(PropertyUtilsBean.java:808) >>>> at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(P >>>> ropertyUtilsBean.java:884) >>>> at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDe >>>> scriptor(PropertyUtilsBean.java:931) >>>> at org.apache.commons.beanutils.PropertyUtils.getPropertyDescri >>>> ptor(PropertyUtils.java:498) >>>> at org.apache.shiro.config.ReflectionBuilder.isTypedProperty(Re >>>> flectionBuilder.java:251) >>>> ... 39 more >>>> >>>> >>>> Regards, >>>> Harshdeep S Jawanda >>>> >>>> On 14 March 2017 at 21:23, Harshdeep S Jawanda <[email protected]> >>>> wrote: >>>> >>>>> This is from when I set the session manager to >>>>> DefaultWebSessionManager (happens during server startup): >>>>> >>>>> java.security.AccessControlException: access denied >>>>> ("java.lang.RuntimePermission" "modifyThreadGroup") at >>>>> java.security.AccessControlContext.checkPermission(AccessCon >>>>> trolContext.java:484 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=java%2Fsecurity%2FAccessControlContext.java&line=484&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at java.security.AccessController.checkPermission(AccessControl >>>>> ler.java:698 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=java%2Fsecurity%2FAccessController.java&line=698&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) >>>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>>> .checkPermission(CustomSecurityManager.java:55) at >>>>> com.google.apphosting.runtime.security.CustomSecurityManager >>>>> .checkAccess(CustomSecurityManager.java:136) at >>>>> java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at >>>>> java.lang.Thread.init(Thread.java:391) at >>>>> java.lang.Thread.init(Thread.java:349) at >>>>> java.lang.Thread.<init>(Thread.java:461) at >>>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>>> nScheduler$1.newThread(ExecutorServiceSessionValidationSched >>>>> uler.java:87 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FExecutorServiceSessionValidationScheduler.java&line=87&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1635) >>>>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>>>> ute(ScheduledThreadPoolExecutor.java:307) at >>>>> java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>>>> ixedRate(ScheduledThreadPoolExecutor.java:566) at >>>>> java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>>>> vice.scheduleAtFixedRate(Executors.java:695) at >>>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>>> nScheduler.enableSessionValidation(ExecutorServiceSessionVal >>>>> idationScheduler.java:92 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FExecutorServiceSessionValidationScheduler.java&line=92&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=232&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.enableSessionValidationIfNecessary(AbstractValidatingSessi >>>>> onManager.java:86 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=86&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.doGetSession(AbstractValidatingSessionManager.java:114 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=114&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>>>> okupSession(AbstractNativeSessionManager.java:108 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractNativeSessionManager.java&line=108&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>>>> tSession(AbstractNativeSessionManager.java:100 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractNativeSessionManager.java&line=100&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.mgt.SessionsSecurityManager.getSession(Sess >>>>> ionsSecurityManager.java:125 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FSessionsSecurityManager.java&line=125&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSession( >>>>> DefaultSecurityManager.java:456 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=456&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>>>> efaultSecurityManager.java:442 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=442&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.mgt.DefaultSecurityManager.createSubject(De >>>>> faultSecurityManager.java:338 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=338&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.subject.Subject$Builder.buildSubject(Subjec >>>>> t.java:846 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsubject%2FSubject.java&line=846&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject( >>>>> WebSubject.java:148 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fsubject%2FWebSubject.java&line=148&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubject( >>>>> AbstractShiroFilter.java:292 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FAbstractShiroFilter.java&line=292&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal( >>>>> AbstractShiroFilter.java:359 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FAbstractShiroFilter.java&line=359&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(O >>>>> ncePerRequestFilter.java:125 >>>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FOncePerRequestFilter.java&line=125&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>>>> Filter(ParseBlobUploadFilter.java:125) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>>>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>>>> .doFilter(TransactionCleanupFilter.java:48) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >>>>> at >>>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >>>>> at >>>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >>>>> at >>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >>>>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >>>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.han >>>>> dle(AppVersionHandlerMap.java:257) at org.mortbay.jetty.handler.Hand >>>>> lerWrapper.handle(HandlerWrapper.java:152) at >>>>> org.mortbay.jetty.Server.handle(Server.java:326) at >>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >>>>> at >>>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) >>>>> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>>>> ailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnecti >>>>> on.handle(HttpConnection.java:404) at com.google.apphosting.runtime. >>>>> jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145) >>>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchServletRequest(JavaRuntime.java:559) at >>>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>>> at >>>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContext(TraceContext.java:311) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>>> at >>>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> java.security.AccessControlException: access denied >>>>> ("java.lang.RuntimePermission" "modifyThreadGroup") at >>>>> java.security.AccessControlContext.checkPermission(AccessControlContext.java:484) >>>>> at >>>>> java.security.AccessController.checkPermission(AccessController.java:698) >>>>> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) >>>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>>> .checkPermission(CustomSecurityManager.java:55) at >>>>> com.google.apphosting.runtime.security.CustomSecurityManager >>>>> .checkAccess(CustomSecurityManager.java:136) at >>>>> java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at >>>>> java.lang.Thread.init(Thread.java:391) at >>>>> java.lang.Thread.init(Thread.java:349) at >>>>> java.lang.Thread.<init>(Thread.java:461) at >>>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>>> nScheduler$1.newThread(ExecutorServiceSessionValidationScheduler.java:87) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1635) >>>>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>>>> ute(ScheduledThreadPoolExecutor.java:307) at >>>>> java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>>>> ixedRate(ScheduledThreadPoolExecutor.java:566) at >>>>> java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>>>> vice.scheduleAtFixedRate(Executors.java:695) at >>>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>>> nScheduler.enableSessionValidation(ExecutorServiceSessionValidationScheduler.java:92) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.enableSessionValidationIfNecessary(AbstractValidatingSessionManager.java:86) >>>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>>> r.doGetSession(AbstractValidatingSessionManager.java:114) at >>>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>>>> okupSession(AbstractNativeSessionManager.java:108) at >>>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>>>> tSession(AbstractNativeSessionManager.java:100) at >>>>> org.apache.shiro.mgt.SessionsSecurityManager.getSession(SessionsSecurityManager.java:125) >>>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSe >>>>> ssion(DefaultSecurityManager.java:456) at >>>>> org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>>>> efaultSecurityManager.java:442) at org.apache.shiro.mgt.DefaultSe >>>>> curityManager.createSubject(DefaultSecurityManager.java:338) at >>>>> org.apache.shiro.subject.Subject$Builder.buildSubject(Subject.java:846) >>>>> at >>>>> org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject(WebSubject.java:148) >>>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubje >>>>> ct(AbstractShiroFilter.java:292) at org.apache.shiro.web.servlet.A >>>>> bstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:359) at >>>>> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>>>> Filter(ParseBlobUploadFilter.java:125) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>>>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>>>> .doFilter(TransactionCleanupFilter.java:48) at >>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>>> at >>>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) >>>>> at >>>>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >>>>> at >>>>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >>>>> at >>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) >>>>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) >>>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.han >>>>> dle(AppVersionHandlerMap.java:257) at org.mortbay.jetty.handler.Hand >>>>> lerWrapper.handle(HandlerWrapper.java:152) at >>>>> org.mortbay.jetty.Server.handle(Server.java:326) at >>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >>>>> at >>>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) >>>>> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>>>> ailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnecti >>>>> on.handle(HttpConnection.java:404) at com.google.apphosting.runtime. >>>>> jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145) >>>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchServletRequest(JavaRuntime.java:559) at >>>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>>> at >>>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContext(TraceContext.java:311) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>>> at >>>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>>> at java.lang.Thread.run(Thread.java:745) >>>>> >>>>> >>>>> The following is the exception when using >>>>> ServletContainerSessionManager: >>>>> >>>>> Failed startup of context com.google.apphosting.utils.je >>>>> tty.RuntimeAppEngineWebAppContext@6ea1bf09{/,/base/data/home >>>>> /apps/s~hsjplowns/0-7-3-hp-perf1.399822149927584543} >>>>> org.apache.shiro.config.ConfigurationException: Unable to determine >>>>> if property [sessionManager.sessionIdCookie.maxAge] represents a >>>>> java.util.Set at org.apache.shiro.config.Reflec >>>>> tionBuilder.isTypedProperty(ReflectionBuilder.java:264) at >>>>> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:544) >>>>> at >>>>> org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:206) >>>>> at >>>>> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:167) >>>>> at >>>>> org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:124) >>>>> at org.apache.shiro.config.IniSecurityManagerFactory.buildInsta >>>>> nces(IniSecurityManagerFactory.java:161) at >>>>> org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>>> rityManager(IniSecurityManagerFactory.java:124) at >>>>> org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>>> rityManager(IniSecurityManagerFactory.java:102) at >>>>> org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>>> ance(IniSecurityManagerFactory.java:88) at >>>>> org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>>> ance(IniSecurityManagerFactory.java:46) at >>>>> org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123) >>>>> at >>>>> org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) >>>>> at org.apache.shiro.web.env.IniWebEnvironment.createWebSecurity >>>>> Manager(IniWebEnvironment.java:203) at org.apache.shiro.web.env.IniWe >>>>> bEnvironment.configure(IniWebEnvironment.java:99) at >>>>> org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) >>>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) >>>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) >>>>> at >>>>> org.apache.shiro.web.env.EnvironmentLoader.createEnvironment(EnvironmentLoader.java:221) >>>>> at >>>>> org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:133) >>>>> at org.apache.shiro.web.env.EnvironmentLoaderListener.contextIn >>>>> itialized(EnvironmentLoaderListener.java:58) at >>>>> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) >>>>> at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) >>>>> at >>>>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) >>>>> at >>>>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) >>>>> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) >>>>> at >>>>> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) >>>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.cre >>>>> ateHandler(AppVersionHandlerMap.java:203) at >>>>> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.get >>>>> Handler(AppVersionHandlerMap.java:176) at >>>>> com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>>>> r.serviceRequest(JettyServletEngineAdapter.java:133) at >>>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchServletRequest(JavaRuntime.java:559) at >>>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>>> at >>>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>>> .runInInheritedContext(TraceContext.java:311) at >>>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>>> at >>>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>>> at java.lang.Thread.run(Thread.java:745) Caused by: >>>>> java.lang.NoSuchMethodException: Unknown property 'sessionIdCookie' >>>>> on class 'class org.apache.shiro.web.session.m >>>>> gt.ServletContainerSessionManager' at org.apache.commons.beanutils.P >>>>> ropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1257) at >>>>> org.apache.commons.beanutils.PropertyUtilsBean.getNestedProp >>>>> erty(PropertyUtilsBean.java:808) at org.apache.commons.beanutils.P >>>>> ropertyUtilsBean.getProperty(PropertyUtilsBean.java:884) at >>>>> org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDe >>>>> scriptor(PropertyUtilsBean.java:931) at org.apache.commons.beanutils.P >>>>> ropertyUtils.getPropertyDescriptor(PropertyUtils.java:498) at >>>>> org.apache.shiro.config.ReflectionBuilder.isTypedProperty(ReflectionBuilder.java:251) >>>>> ... 39 more >>>>> >>>>> >>>>> >>>>> Regards, >>>>> Harshdeep S Jawanda >>>>> >>>>> On 14 March 2017 at 20:51, Brian Demers <[email protected]> >>>>> wrote: >>>>> >>>>>> Can you post the stacktraces ? >>>>>> >>>>>> >>>>>> On Tue, Mar 14, 2017 at 3:36 AM, Harshdeep S Jawanda < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Initially I was not explicitly setting the session manager in my >>>>>>> shiro.ini, so it defaults to ServletContainerSessionManager. >>>>>>> ServletContainerSessionManager doesn't have a sessionIdCookie property, >>>>>>> so >>>>>>> I get the NoSuchMethodException exception during startup (if I use >>>>>>> securityManager.sessionManager.sessionIdCookie.maxAge in shiro.ini). >>>>>>> >>>>>>> If I try to explicitly set the session manager to >>>>>>> DefaultWebSessionManager in shiro.ini, I get the previously mentioned >>>>>>> AccessControlException, which, as far as I can make out, is because >>>>>>> DefaultWebSessionManager must be trying to write to disk, and that is >>>>>>> forbidden on Google App Engine. >>>>>>> >>>>>>> I also tried to do user.getSession().setTimeout(timeoutValue * >>>>>>> 1000) immediately after user logs in (with >>>>>>> ServletContainerSessionManager >>>>>>> active), but that seems to have no effect. >>>>>>> httpServletRequest.getSession( >>>>>>> ).setMaxInactiveInterval(timeoutValue) didn't work either. >>>>>>> >>>>>>> Any suggestions? There must be a way to set session cookie timeout >>>>>>> on GAE using Shiro... >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Harshdeep S Jawanda >>>>>>> >>>>>>> On 13 March 2017 at 20:22, Brian Demers <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> If you are using a shiro.ini the property would be: >>>>>>>> securityManager.sessionManager.sessionIdCookie.maxAge = <int> >>>>>>>> >>>>>>>> Otherwise you can traverse your beans, something like: >>>>>>>> sessionManger.getSessionIdCookie().setMaxAge(<int>) >>>>>>>> >>>>>>>> On Mon, Mar 13, 2017 at 12:41 AM, Harshdeep S Jawanda < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I wondered if anybody could help me with setting the session >>>>>>>>> cookie lifetime for Shiro on GAE. >>>>>>>>> >>>>>>>>> I tried with DefaultWebSessionManager but I get an >>>>>>>>> AccessControlException: >>>>>>>>> >>>>>>>>> java.security.AccessControlException: access denied >>>>>>>>> ("java.lang.RuntimePermission" "modifyThreadGroup") >>>>>>>>> >>>>>>>>> Tried org.apache.shiro.session.Session#setTimeout(432000 * 1000) >>>>>>>>> but that doesn't work either. The JSESSIONID cookie continues to show >>>>>>>>> an >>>>>>>>> Expires value of "At end of session". >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Harshdeep S Jawanda >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> >
