After successfully logging into my app using identity.login(), I want to dynamically
direct the user to one of two pages, depending upon the permissions level of the user. I
have tried several options, none of which worked, and I'm about ready to implement the
solution that I know to work - use a JPDL pageflow - but before I do, I was wondering if
someone had an easier, more elegant way of implementing this common scenario. Here are
the attempts I have made thus far:
1) This does not produce an exception, but it always navigates back to the login page, so
I assume Seam cannot handle nested navigation rules:
<page view-id="/login.xhtml">
| <navigation from-action="#{identity.login}">
| <rule if-outcome="loggedIn">
| <rule if="#{s:hasPermission('userAndInstitution','add',
null)}">
| <redirect view-id="/AdminHome.xhtml"/>
| </rule>
| <rule if="#{not
s:hasPermission('userAndInstitution','add', null)}">
| <redirect view-id="/UserHome.xhtml"/>
| </rule>
| </rule>
| </navigation>
| </page>
2) The idea here was that I didn't need to check for outcome of "loggedIn",
since the only other outcome is null, which would go immediately back to the previous
page. However, the expression parser fails once it hits "s:":
<page view-id="/login.xhtml">
| <navigation from-action="#{identity.login}">
| <rule if="#{s:hasPermission('userAndInstitution','add',
null)}">
| <redirect view-id="/AdminHome.xhtml"/>
| </rule>
| <rule if="#{not
s:hasPermission('userAndInstitution','add', null)}">
| <redirect view-id="/UserHome.xhtml"/>
| </rule>
| </navigation>
| </page>
3) This was an attempt to access the identity permission method directly. The expression
parser throws an exception when it hits the "(":
<page view-id="/login.xhtml">
| <navigation from-action="#{identity.login}">
| <rule
if="#{identity.checkPermission('userAndInstitution','add',
null)}">
| <redirect view-id="/AdminHome.xhtml"/>
| </rule>
| <rule if="#{not
identity.checkPermission('userAndInstitution','add', null)}">
| <redirect view-id="/UserHome.xhtml"/>
| </rule>
| </navigation>
| </page>
Any other ideas or commentary on what I have tried?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4024730#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...