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(
AccessControlContext.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(AccessController.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.ExecutorServiceSessionValidationScheduler$1.newThread(
ExecutorServiceSessionValidationScheduler.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.delayedExecute(ScheduledThreadPoolExecutor.java:307)
at
java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate(ScheduledThreadPoolExecutor.java:566)
at
java.util.concurrent.Executors$DelegatedScheduledExecutorService.scheduleAtFixedRate(Executors.java:695)
at
org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler.enableSessionValidation(
ExecutorServiceSessionValidationScheduler.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.AbstractValidatingSessionManager.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.AbstractValidatingSessionManager.enableSessionValidationIfNecessary(
AbstractValidatingSessionManager.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.AbstractValidatingSessionManager.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.lookupSession(
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.getSession(
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(
SessionsSecurityManager.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(
DefaultSecurityManager.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(
DefaultSecurityManager.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(Subject.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(
OncePerRequestFilter.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.doFilter(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.JdbcMySqlConnectionCleanupFilter.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.handle(AppVersionHandlerMap.java:257)
at org.mortbay.jetty.handler.HandlerWrapper.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.parseAvailable(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:559)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(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.ExecutorServiceSessionValidationScheduler$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.delayedExecute(ScheduledThreadPoolExecutor.java:307)
at
java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate(ScheduledThreadPoolExecutor.java:566)
at
java.util.concurrent.Executors$DelegatedScheduledExecutorService.scheduleAtFixedRate(Executors.java:695)
at
org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler.enableSessionValidation(ExecutorServiceSessionValidationScheduler.java:92)
at
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.enableSessionValidation(AbstractValidatingSessionManager.java:232)
at
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.enableSessionValidationIfNecessary(AbstractValidatingSessionManager.java:86)
at
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:114)
at
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:108)
at
org.apache.shiro.session.mgt.AbstractNativeSessionManager.getSession(AbstractNativeSessionManager.java:100)
at
org.apache.shiro.mgt.SessionsSecurityManager.getSession(SessionsSecurityManager.java:125)
at
org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSession(DefaultSecurityManager.java:456)
at
org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(DefaultSecurityManager.java:442)
at
org.apache.shiro.mgt.DefaultSecurityManager.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.createSubject(AbstractShiroFilter.java:292)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.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.doFilter(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.JdbcMySqlConnectionCleanupFilter.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.handle(AppVersionHandlerMap.java:257)
at org.mortbay.jetty.handler.HandlerWrapper.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.parseAvailable(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:559)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(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.jetty.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(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.buildInstances(IniSecurityManagerFactory.java:161)
at
org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:124)
at
org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:102)
at
org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:88)
at
org.apache.shiro.config.IniSecurityManagerFactory.createInstance(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.createWebSecurityManager(IniWebEnvironment.java:203)
at
org.apache.shiro.web.env.IniWebEnvironment.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.contextInitialized(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.createHandler(AppVersionHandlerMap.java:203)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:176)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:133)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:559)
at
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(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.mgt.ServletContainerSessionManager' at
org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1257)
at
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:808)
at
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:884)
at
org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:931)
at
org.apache.commons.beanutils.PropertyUtils.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
>>>>
>>>
>>>
>>
>