Как перенаправить запрос страницы от пользователя, вошедшего в систему - PullRequest
0 голосов
/ 06 сентября 2011

Я занимаюсь разработкой сайта с использованием Seam 3 и JBoss 7. Я использую безопасность Seam и JSF. На главной странице сайта есть элементы управления для входа. Когда пользователь вводит свои учетные данные, он перенаправляется на свою страницу пользователя "/MySC".

Но если вошедший в систему пользователь просто вводит корень домена "/", он попадает на первую страницу. Я хочу, чтобы, когда пользователь вошел в систему, он не мог снова получить доступ к главной странице. Если он просит перейти на первую страницу или ввести корень домена в строке адреса, я хочу, чтобы он был перенаправлен на «/ MySC». Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 15 сентября 2011

Вы можете использовать довольно мощное правило навигации SEAM. Вы объявите его в page.xml ... Вы можете объявить там правило условной навигации.

<page view id="/view.xhtml">
      <navigation from-action="#{user.login}">
           <rule if-outcome="successfull"><redirect view-id="/MySC.xhtml"/>
           <message severity="Info">
                Your login is successfull!.
           </message>
      </navigation>
</page>
0 голосов
/ 06 сентября 2011

Рекомендую небольшую переработку структуры страницы: сделайте первую страницу /start страницей, которую авторизованный пользователь может видеть, и перенаправьте на /login, если пользователь еще не аутентифицирован.

Этот дизайн не только чище с точки зрения разделения интересов (позволяет объединить логику аутентификации в отдельной папке), но и решает проблему смешивания корневого контекста и страницы аутентификации.

...