Re: Invalidating all portlet sessions

Eric Dalquist <[email protected]> Mon, 14 Jul 2008 13:57:13 -0500
Newsgroups gmane.comp.jakarta.pluto.user
Organization DoIT
Message-ID <[email protected]>
Here is our request utils class. Since you're doing this from withing 
Pluto I believe these are all safe operations:

https://www.ja-sig.org/svn/uPortal/trunk/uportal-impl/src/main/java/org/jasig/portal/url/PortalRequestUtilsImpl.java

-Eric

Anders Olsson wrote:
> Thanks, this is exactly what I'm looking for! There is one thing left 
> for me to solve though: I can't figure out how I can retrieve the 
> portal session from the onEnd()-method of my 
> PortletInvocationListener. In uPortal the portal request can be 
> retrieved using IPortalRequestUtils.getOriginalPortalRequest() but I 
> can't find a way to do that within the pluto portal.
>
> I tried using the PortalRequestContext that is stored as the request 
> attribute PortalRequestContext.REQUEST_KEY but that gives me the 
> request after it has already been dispatched to the pluto PortletServlet.
>
> / Anders
>
>
> Eric Dalquist skrev:
>> We do this in uPortal by using a PortletInvocationListener to track 
>> all of the sessions that have been created for portlets and then a 
>> HttpSessionListener which generates Spring ApplicationContext events 
>> for session created/destroyed events.
>>
>> Our custom listener: 
>> https://www.ja-sig.org/svn/uPortal/trunk/uportal-impl/src/main/java/org/jasig/portal/portlet/session/PortletSessionExpirationManager.java 
>>
>> Our session listener: 
>> https://www.ja-sig.org/svn/uPortal/trunk/uportal-impl/src/main/java/org/jasig/portal/spring/web/context/support/ApplicationContextDelagatingSessionListener.java 
>>
>>
>> -Eric
>>
>> Anders Olsson wrote:
>>> Hi!
>>>
>>> I have created a simple custom portal based on pluto-portal. From a 
>>> servlet in my custom portal I want to invalidate all related 
>>> sessions in my deployed portlet applications, is there an easy way 
>>> to do this, using the portal-driver?
>>>
>>> I suppose one possibility would be to iterate through all configured 
>>> portlets and trigger an ActionRequest and in each of the portlets 
>>> make sure that they respond to that request by invalidating the 
>>> session. But I would just want to know if there's a better/easier way?
>>>
>>> All portlets are separate web applications.
>>>
>>> Regards
>>> Anders
>>>
>>>
>
smime.p7s (application/x-pkcs7-signature, 3.3 KB) - not displayed