You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Howard Lewis Ship <hl...@gmail.com> on 2009/01/28 01:09:18 UTC

Re: T5: Tapestry and Tomcat

Not at this time; we have to do a number of odd things, such as
creating new classloaders, that are normally prohibitted.

One area that is lacking in Tapestry is that we do not do such
operations inside AccessController.doPrivileged() which makes it
harder to simply specify the access that Tapestry needs ... seems like
that's an issue that should be resolved.

On Mon, May 26, 2008 at 3:17 AM, Stephan Mehlhase
<s....@googlemail.com> wrote:
> Hi,
>
> is there a way to get Tap5 applications running without completely
> deactivate security options?
>
> Stephan
>
> On Tue, Mar 4, 2008 at 8:31 PM, Jonathan Barker
> <jo...@gmail.com> wrote:
>>
>> It's still grumbling about security.
>>
>> Take a look in /etc/init.d/tomcat5.5
>>
>> Find the line that says:
>>
>> TOMCAT5_SECURITY=yes
>>
>> And change it to
>>
>> TOMCAT5_SECURITY=no
>>
>> See if that works.
>>
>>
>>
>>> -----Original Message-----
>>> From: MoritzGilsdorf [mailto:mail@moritz-gilsdorf.de]
>>> Sent: Tuesday, March 04, 2008 3:41 AM
>>> To: users@tapestry.apache.org
>>> Subject: RE: T5: Tapestry and Tomcat
>>>
>>>
>>> Thanks a lot! That was the (first) Problem.
>>>
>>> Tomcat is now able to run the Webapp but is now showing the following
>>> Stack:
>>>
>>> exception
>>>
>>> javax.servlet.ServletException:
>>> org/apache/tapestry/corelib/components/Loop$1
>>>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
>>> 294)
>>>
>>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:
>>> 218)
>>>
>>> root cause
>>>
>>> java.lang.NoClassDefFoundError:
>>> org/apache/tapestry/corelib/components/Loop$1
>>>       org.apache.tapestry.corelib.components.Loop.<clinit>(Loop.java:45)
>>>       $Instantiator_11878e793c0.newInstance($Instantiator_11878e793c0.java
>>> )
>>>
>>> org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.<ini
>>> t>(InternalComponentResourcesImpl.java:78)
>>>
>>> org.apache.tapestry.internal.structure.ComponentPageElementImpl.<init>(Com
>>> ponentPageElementImpl.java:571)
>>>
>>> org.apache.tapestry.internal.structure.ComponentPageElementImpl.newChild(C
>>> omponentPageElementImpl.java:506)
>>>
>>> org.apache.tapestry.internal.services.PageElementFactoryImpl.newComponentE
>>> lement(PageElementFactoryImpl.java:224)
>>>
>>> $PageElementFactory_11878e79398.newComponentElement($PageElementFactory_11
>>> 878e79398.java)
>>>
>>> org.apache.tapestry.internal.services.PageLoaderProcessor.startComponent(P
>>> ageLoaderProcessor.java:656)
>>>
>>> org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForC
>>> omponent(PageLoaderProcessor.java:501)
>>>
>>> org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQue
>>> ue(PageLoaderProcessor.java:808)
>>>
>>> org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoa
>>> derProcessor.java:393)
>>>
>>> org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderIm
>>> pl.java:60)
>>>       $PageLoader_11878e79396.loadPage($PageLoader_11878e79396.java)
>>>
>>> org.apache.tapestry.internal.services.PagePoolCache.checkout(PagePoolCache
>>> .java:188)
>>>
>>> org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.j
>>> ava:107)
>>>       $PagePool_11878e79395.checkout($PagePool_11878e79395.java)
>>>
>>> org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPage
>>> CacheImpl.java:43)
>>>       $RequestPageCache_11878e79394.get($RequestPageCache_11878e79394.java
>>> )
>>>       $RequestPageCache_11878e79367.get($RequestPageCache_11878e79367.java
>>> )
>>>
>>> org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handl
>>> eRequestException(DefaultRequestExceptionHandler.java:47)
>>>
>>> $RequestExceptionHandler_11878e79381.handleRequestException($RequestExcept
>>> ionHandler_11878e79381.java)
>>>
>>> org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:
>>> 513)
>>>       $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java
>>> )
>>>
>>> org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFile
>>> sFilter.java:79)
>>>       $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java
>>> )
>>>
>>> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Check
>>> ForUpdatesFilter.java:93)
>>>
>>> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Check
>>> ForUpdatesFilter.java:84)
>>>
>>> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurren
>>> tBarrier.java:77)
>>>
>>> org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckF
>>> orUpdatesFilter.java:106)
>>>       $RequestHandler_11878e79385.service($RequestHandler_11878e79385.java
>>> )
>>>       $RequestHandler_11878e7937c.service($RequestHandler_11878e7937c.java
>>> )
>>>
>>> org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java
>>> :891)
>>>
>>> org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPa
>>> thsFilter.java:62)
>>>
>>> $HttpServletRequestFilter_11878e7937b.service($HttpServletRequestFilter_11
>>> 878e7937b.java)
>>>
>>> $HttpServletRequestHandler_11878e7937d.service($HttpServletRequestHandler_
>>> 11878e7937d.java)
>>>
>>> $HttpServletRequestHandler_11878e7937a.service($HttpServletRequestHandler_
>>> 11878e7937a.java)
>>>       org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
>>>       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>> 39)
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
>>> pl.java:25)
>>>       java.lang.reflect.Method.invoke(Method.java:585)
>>>       org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:24
>>> 4)
>>>       java.security.AccessController.doPrivileged(Native Method)
>>>       javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
>>> 276)
>>>
>>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:
>>> 218)
>>>
>>> I tried unpacking all necessary tapestry jar's to WEB-INF/classes but to
>>> no
>>> avail.
>>>
>>> Any Ideas?
>>>
>>> Thanks,
>>>
>>> Moritz
>>>
>>>
>>> Jonathan Barker wrote:
>>> >
>>> > Moritz,
>>> >
>>> > Given that Ubuntu is based on Debian, you are probably running into
>>> Tomcat
>>> > security configuration issues.  I run Debian.
>>> >
>>> > I hit this myself and kept battering my head against the wall trying to
>>> > grant all of the necessary permissions.
>>> >
>>> > Take a look in /etc/tomcat5.5/policy.d/ and see if you have a
>>> > 04webapps.policy file.  Try adding:
>>> >
>>> > grant codeBase "file:/var/lib/tomcat5.5/webapps/YourApp/-" {
>>> >         permission java.security.AllPermission;
>>> > };
>>> >
>>> > With the appropriate directory/app name of course, and see if your
>>> > problems
>>> > go away.  Then, it's a good idea to go back and try to figure out what
>>> > permissions you should explicitly grant.
>>> >
>>> > There's also an option somewhere to turn off the security manager
>>> > entirely.
>>> > That may require editing the tomcat startup script.
>>> >
>>> > Jonathan
>>> >
>>> >
>>> >
>>> >
>>> >> -----Original Message-----
>>> >> From: MoritzGilsdorf [mailto:mail@moritz-gilsdorf.de]
>>> >> Sent: Monday, March 03, 2008 7:25 AM
>>> >> To: users@tapestry.apache.org
>>> >> Subject: T5: Tapestry and Tomcat
>>> >>
>>> >>
>>> >> Hi,
>>> >>
>>> >> I know there are a lot of Topics available about this issue but I
>>> >> couldn't
>>> >> find a helpful Solution.
>>> >>
>>> >> I'm trying to deploy my webapp on a ubuntu 7.10 linux server using
>>> >> tomcat5.5. Using jetty my webapp works fine. I also followed the
>>> >> Instructions about  http://tapestry.apache.org/tapestry5/tomcat.html
>>> >> deploying for tomcat  but this doesn't changed anything.
>>> >> I tried using the tomcat manager and get the following message after
>>> >> trying
>>> >> to start:
>>> >>
>>> >> FAIL - Application at context path /<context> could not be started
>>> >>
>>> >> In Tomcat's webapp folder, the .war file is uncompressed properly. In
>>> my
>>> >> localhost.<date>.log logfile I get the following Stack trace:
>>> >>
>>> >> java.lang.ExceptionInInitializerError
>>> >>    at
>>> >>
>>> org.apache.tapestry.ioc.internal.services.ClassFactoryImpl.<init>(ClassFac
>>> >> toryImpl.java:63)
>>> >>    at
>>> >> org.apache.tapestry.ioc.RegistryBuilder.<init>(RegistryBuilder.java:76)
>>> >>    at
>>> >> org.apache.tapestry.ioc.RegistryBuilder.<init>(RegistryBuilder.java:62)
>>> >>    at
>>> >> org.apache.tapestry.ioc.RegistryBuilder.<init>(RegistryBuilder.java:57)
>>> >>    at
>>> >>
>>> org.apache.tapestry.internal.TapestryAppInitializer.<init>(TapestryAppInit
>>> >> ializer.java:49)
>>> >>    at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:67)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilt
>>> >> erConfig.java:221)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationF
>>> >> ilterConfig.java:302)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterC
>>> >> onfig.java:78)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:
>>> >> 3635)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java
>>> >> :760)
>>> >>    at
>>> >> org.apache.catalina.core.ContainerBase.access$0(ContainerBase.java:744)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBas
>>> >> e.java:144)
>>> >>    at java.security.AccessController.doPrivileged(Native Method)
>>> >>    at
>>> >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:738)
>>> >>    at
>>> >> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>>> >>    at
>>> >> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
>>> >>    at
>>> >> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
>>> >>    at
>>> >> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>> >>    at
>>> >> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>>> >>    at
>>> >>
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>> >>    at
>>> >>
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupp
>>> >> ort.java:120)
>>> >>    at
>>> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>>> >>    at
>>> >> org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>>> >>    at
>>> >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>>> >>    at
>>> >> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>> >>    at
>>> >>
>>> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>>> >>    at
>>> >> org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>>> >>    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>>> >>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> >>    at
>>> >>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>> >> 39)
>>> >>    at
>>> >>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
>>> >> pl.java:25)
>>> >>    at java.lang.reflect.Method.invoke(Method.java:585)
>>> >>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>>> >>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> >>    at
>>> >>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>> >> 39)
>>> >>    at
>>> >>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm
>>> >> pl.java:25)
>>> >>    at java.lang.reflect.Method.invoke(Method.java:585)
>>> >>    at
>>> >>
>>> org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:177
>>> >> )
>>> >> Caused by: java.security.AccessControlException: access denied
>>> >> (java.lang.RuntimePermission accessDeclaredMembers)
>>> >>    at
>>> >>
>>> java.security.AccessControlContext.checkPermission(AccessControlContext.ja
>>> >> va:264)
>>> >>    at
>>> >>
>>> java.security.AccessController.checkPermission(AccessController.java:427)
>>> >>    at
>>> >> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
>>> >>    at
>>> >> java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
>>> >>    at java.lang.Class.checkMemberAccess(Class.java:2125)
>>> >>    at java.lang.Class.getDeclaredMethod(Class.java:1906)
>>> >>    at javassist.ClassPool$1.run(ClassPool.java:78)
>>> >>    at java.security.AccessController.doPrivileged(Native Method)
>>> >>    at javassist.ClassPool.<clinit>(ClassPool.java:75)
>>> >>    ... 40 more
>>> >>
>>> >> Simply putting the .war file into the webapp folder leads to the same
>>> >> point.
>>> >> Also unpacking the tapestry .jar files into WEB-INF/classes didn't
>>> >> changed
>>> >> anything.
>>> >> This is really annoying. I hope someone can help me with that.
>>> >>
>>> >> Thanks in advance!
>>> >>
>>> >> Moritz
>>> >>
>>> >> --
>>> >> View this message in context: http://www.nabble.com/T5%3A-Tapestry-and-
>>> >> Tomcat-tp15801360p15801360.html
>>> >> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>> >>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> >> For additional commands, e-mail: users-help@tapestry.apache.org
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> > For additional commands, e-mail: users-help@tapestry.apache.org
>>> >
>>> >
>>> >
>>>
>>> --
>>> View this message in context: http://www.nabble.com/T5%3A-Tapestry-and-
>>> Tomcat-tp15801360p15822639.html
>>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org