Как перенаправить запрос страницы пользователем Loggedin
Вопрос
Я разрабатываю сайт с 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
Если пользователь еще не аутентифицирован.
Эта конструкция не только чище с точки зрения разделения проблем (позволяет вам объединить логику аутентификации в отдельной папке), но и решает проблему смешивания корня контекста и страницы аутентификации.