Tunnel-web without JAAS

In a previous post, it was suggested to me that I remove tunnel-web's dependency on JAAS.  What this would do is (1) circumvent issues with JAAS implementations in certain app servers (Tomcat's bugs and the lack of configuration in Glassfish) and (2) allow users to log in using the same login credentials they would use on the portal's signin page (normally, the email address).  As of the upcoming 5.0 release of Liferay Portal, this now exists.  The exciting thing for me is now WebDAV feels so much nicer!  :)

However, if there is some reason you need to login a tunnel-web servlet via your userID, you still can -- just append @uid (e.g., 12345@uid).  Alternatively, you can append @sn to your screenName (e.g., achow@sn).  This was necessary to allow for certain use cases in which the user ID was still needed and was the only thing available.

This blog post is long overdue (since I added this feature a while back), but I've been busy with other things so haven't had a chance to blog about it.  As way of paying penance for this transgression, I am posting a rare, one-of-a kind photograph of our esteemed Founder and Chief Software Architect:

Brian Chan at Retreat

This photo was taken while Mike Young and family and I were driving up to the last annual retreat, where there was no internet access, and we saw somebody with long hair sitting in a car parked at the entrance.  Evidently Brian was using his BlackBerry for internet, could only get reception outside, and was committing code!  He is quite a faithful one indeed!!

Blogs
Hi,
I recently installed the liferay 5.0.1+glassfish bundle to test the Image Gallery WebDAV but I'm getting the following error

java.lang.ClassCastException: org.apache.catalina.realm.JAASRealm cannot be cast to com.sun.web.security.RealmAdapter
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:89)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Which java library should I use to access Liferay's webdav from another servlet inside of a tomcat6 ? Have any example code Alex?

Cadaver can hit it but Java SE URLConnection gets redirected.

Thanks, Brian