0

我正在使用 Seam 3 和 JBoss 7 开发一个站点。我正在使用 Seam 安全性和 JSF。该站点的首页具有登录控件。当用户输入他的凭据时,他被重定向到他的用户页面“/MySC”。

但是,如果登录用户只是键入域根目录“/”,他就会进入首页。我想要的是,当用户登录时,他应该无法再次访问首页。如果他要求转到首页或在地址栏中输入域根目录,我希望他被重定向到“/MySC”。我怎样才能做到这一点?

4

2 回答 2

0

我建议对页面结构进行小的重新设计:将首页设为/start允许经过身份验证的用户查看的页面,/login如果用户尚未经过身份验证,则重定向到该页面。

这种设计不仅在关注点分离方面更干净(允许您将身份验证逻辑捆绑在不同的文件夹中),它还解决了上下文根和身份验证页面混合的问题。

于 2011-09-06T07:30:24.760 回答
0

您可以使用非常强大的 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>
于 2011-09-15T07:08:34.640 回答