Hi!
I have the following problem: I'd like to forward a page-parameter to the login-view. When the users opens e.a. the page ../aSecuredPage.seam?username=max
and he has not logged in yet, he should be forwarded to the login.xhtml view and the username should be pre-filled with the page parameter.
My login.page.xml is here:
<param name="username"
value="#{credentials.username}" />
<navigation from-action="#{identity.login}">
<rule if="#{identity.loggedIn}">
<redirect view-id="/aSecuredPage.xhtml"/>
</rule>
</navigation>
Currently it works when I open ../login.seam?username=max
, then the login page is opened pre-filled with the specified username.
The problem is when I open another page. It seams the page-parameters are removed and added after the login has been done. I added the include-page-params parameter, but without success [pages.xml]:
<exception class="org.jboss.seam.security.NotLoggedInException">
<redirect view-id="/login.xhtml" include-page-params="true">
<message severity="warn">
#{messages['org.jboss.seam.exception.NotLoggedIn']}
</message>
</redirect>
</exception>
It seams the redirect removes the parameters, and adds them later again [components.xml]:
<event type="org.jboss.seam.security.notLoggedIn">
<action execute="#{redirect.captureCurrentView}"/>
</event>
<event type="org.jboss.seam.security.loginSuccessful">
<action execute="#{redirect.returnToCapturedView}"/>
</event>
Any ideas how I can forwared the page parameters to the login-view?
Regards, Christoph