2010-08-13 3 views
2

Я использую следующий код для перенаправления на мою домашнюю страницу при входе в систему ... теперь я хочу сделать еще один шаг и добавить логику, где она перенаправляется на другую страницу в зависимости от типа пользователя ,Главная страница будет отображаться в соответствии с типом пользователя

например, если пользовательский тип является сотрудником, тогда я должен перенаправить на employeehome.xhtml и т. Д. ... это возможно?

<page xmlns="http://jboss.com/products/seam/pages" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"> 

<navigation from-action="#{identity.login}"> 
    <rule if="#{identity.loggedIn}"> 
     <redirect view-id="/Home.xhtml" /> 
    </rule> 
</navigation> 

ответ

2

Я полагаю, у вас есть login.xhtml страницу, с которой пользователь входит в систему.

Затем вы можете создать страницу, содержащую login.page.xml некоторые навигационные правила. Например:

 <navigation from-action='#{identity.login}'> 
     <rule if="#{identity.loggedIn and s:hasRole('management')}"> 
      <redirect view-id="/management/home.xhtml"/> 
     </rule> 
     <rule if="#{identity.loggedIn and s:hasRole('upload')}"> 
      <redirect view-id="/secure/upload.xhtml"/> 
     </rule> 
     <rule if="#{identity.loggedIn and (s:hasRole('sss') or s:hasRole('sssmgmnt'))}"> 
      <redirect view-id="/secure/sss/home.xhtml"/> 
     </rule> 
     <rule if="#{identity.loggedIn}"> 
      <redirect view-id="/secure/home.xhtml"/> 
     </rule> 
    </navigation> 

Далее вы можете ограничить страницы, чтобы туда могли попасть только пользователи с правильной ролью. На моих страницах.xml у меня есть следующие строки:

<page view-id="/secure/upload.xhtml" login-required="true"> 
    <restrict>#{s:hasRole('upload')}</restrict> 
</page> 
Смежные вопросы