Перенаправление на домашнюю страницу после входа в систему seam 3

#seam3

#seam3

Вопрос:

У меня есть пользовательский аутентификатор, и я хочу перенаправить на домашнюю страницу после успешной аутентификации в seam 3. Как я могу это сделать??

Ответ №1:

Есть несколько способов сделать это.

Самый простой способ — return "/home.xhtml"; в вашем действии входа в систему.

Комментарии:

1. Есть ли способ с помощью seam security перенаправить, если вы не вошли в систему как JASS

Ответ №2:

Другой способ — использовать правило навигации в faces-config.xml:

    <navigation-rule>
      <from-view-id>/loginPage.xhtml</from-view-id>
      <navigation-case>
         <from-action>#{authBean.login}</from-action>
         <from-outcome>success</from-outcome> 
         <to-view-id>/homePage.xhtml</to-view-id>
         <redirect/>
      </navigation-case>
      <navigation-case>
         <from-action>#{authBean.login}</from-action>
         <from-outcome>fail</from-outcome> 
         <to-view-id>/loginPage.xhtml</to-view-id>
         <redirect/>
      </navigation-case>
   </navigation-rule>
  

Комментарии:

1. да, я поместил это в правило навигации, например <из-действия>#{идентификатор. login}</from-action><form-action>#{true}</form-action><to-view-id>/home.xhtml</to-view-id> работает нормально, но теперь, как проверить, входил пользователь в систему или нет, перед отображением представления с помощью seam security

2. Для просмотра вы можете использовать что-то вроде этого, например: <h:DataTable rendered=»#{identity. LoggedIn}» …… >….. Если вы хотите ограничить методы вызова только зарегистрированными пользователями, вы можете добавить аннотацию @LoggedIn к компонентам или методам