[
https://issues.jboss.org/browse/GTNPORTAL-1970?page=com.atlassian.jira.pl...
]
Matt Wringe commented on GTNPORTAL-1970:
----------------------------------------
The issue here has nothing to do with this particular portlet, richfaces or the
portletbridge. Its a generic issue which arises with ajax calls to retrieve resources,
which get redirected due to the session expiring.
So what is happening is that the portlet wants to update its content using an ajax call.
Since the url for the resource is a private url requiring a logged in user and the
user's session has expired, the portal redirects the user to the login page. After the
user has logged in, it redirects the user to the url it was requesting, which happens in
this case to be a resource.
The problem here is that we don't want to be redirected to the resource url, our
application just wants the resource content so that i can update it self with javascript.
But since we need to redirect the user to do the login, it gets out of sync with what we
want.
Note that the use case does exist for having resource urls which do redirect the user to
another page (for example, a link to just an image or pdf file). So we can't just add
an exception to deal with resource urls and session log outs.
Richfaces portlet after session expiration generates incorrect
request (resource)
---------------------------------------------------------------------------------
Key: GTNPORTAL-1970
URL:
https://issues.jboss.org/browse/GTNPORTAL-1970
Project: GateIn Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.2.0-M01
Environment: GateIn trunk (07/27)
EPP5.1.1 CR01
Reporter: Michal Vanco
Fix For: 3.2.0-M02
Attachments: rfportlet-session_exp.png
ajax requests in RF portlets contain in URL following attribute:
&portal:type=resource
and when session expires, you re-login and then portlet becomes only a resource in
browser and not a part of portal page (see screenshot)
To reproduce:
- deploy some RF portlet in portal (for example tic-tac-toe portlet -
http://anonsvn.jboss.org/repos/qa/prabhat/tictactoe-portlet)
- change session timeout in gatein.ear/02portal.war/WEB-INF/web.xml to 1 minute and
start portal
- add RF portlet on page
- wait 1 minute for session expiration, click on any button in RF portlet -> you are
asked to re-login and then you see only portlet in browser and no portal environment
URL after expiration and re-login can look like:
http://localhost:8080/portal/private/classic/ttt?portal:componentId=f976f...
You can go back in portal by removing "&portal:type=resource" from URL or
type page URL in browser (
http://localhost:8080/portal/private/classic/ttt)
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira