shiro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Demers <brian.dem...@gmail.com>
Subject Re: Setting login expiry for Shiro on GAE
Date Thu, 16 Mar 2017 14:11:51 GMT
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 <hsjawanda@gmail.com>
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 <brian.demers@gmail.com> 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 <hsjawanda@gmail.com
>> > wrote:
>>
>>> Do the stack traces give you any idea?
>>>
>>> Sent from my Moto X2
>>>
>>> On 14-Mar-2017 21:31, "Harshdeep S Jawanda" <hsjawanda@gmail.com> 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 <hsjawanda@gmail.com>
>>>> 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 <brian.demers@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Can you post the stacktraces ?
>>>>>>
>>>>>>
>>>>>> On Tue, Mar 14, 2017 at 3:36 AM, Harshdeep S Jawanda <
>>>>>> hsjawanda@gmail.com> 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 <brian.demers@gmail.com>
>>>>>>> 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 <
>>>>>>>> hsjawanda@gmail.com> 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
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>
>

Mime
View raw message