2010-12-16 2 views
0

Я разрабатываю приложение Seam. Для вновь созданных пользователей существует специальный сценарий. Когда учетная запись пользователя создается администратором, он должен сменить пароль при первом входе в систему, поэтому я должен заставить пользователя сменить пароль. На каждой странице я должен контролировать, был ли его первый логин или нет. Если это первый вход, я должен перенаправить его на страницу смены пароля.Перенаправление другой страницы при загрузке страницы в Seam Framework

Я не мог успешно реализовать эту проблему в Seam Framework.

У вас есть идеи по этому вопросу?

ответ

0

Вы можете реализовать фильтр & можете проверить там для вновь созданных пользователей &, затем можете перенаправить их соответствующим образом. Предоставьте настраиваемый шаблон url для фильтрации запросов соответствующим образом.

<filter> 
    <filter-name>Seam Filter</filter-name> 
    <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>Seam Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
+1

Это не очень хороший подход. Этот фильтр будет применяться по всему запросу для всех пользователей все время. – 2010-12-16 09:05:49

4

У меня есть два предложения. Первый,

Создайте метод в bean-компоненте, который возвращается, если пользователь зарегистрировался в первый раз. Затем в pages.xml,

<page view-id="*"> 
. 
. 

     <navigation from-action="#{identityBean.isFirstLogin()}"> 
      <rule if-outcome="true"> 
       <redirect view-id="/changePasswordPage.xhtml"/> 
      </rule> 
     </navigation> 
    </page> 

Второй заключается в использовании событие 'org.jboss.seam.security.loginSuccessful'.

@Observer("org.jboss.seam.security.loginSuccessful") 
public void redirectUserToChangePassword() { 

    if (isFirstLogin()) { 

      Redirect redirect = Redirect.instance(); 
      redirect.setViewId("/changePassword.xhtml"); 
      redirect.execute(); 

    } 
} 

Но вы можете использовать этот метод, если используете защиту от шва.

+0

+1 Для подхода Observer – 2010-12-16 09:06:07

Смежные вопросы