Как перенаправить запрос страницы пользователем Loggedin

StackOverflow https://stackoverflow.com/questions/7313900

  •  26-10-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Вы можете использовать правило навигации по швам, которое довольно мощное ... вы объявляете его в 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>

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top