ログインしているユーザーによってページリクエストをリダイレクトする方法

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

  •  26-10-2019
  •  | 
  •  

質問

Seam 3 と JBoss 7 を使用してサイトを開発しています。Seam セキュリティと JSF を使用しています。サイトのフロントページにはログイン コントロールがあります。ユーザーが資格情報を入力すると、ユーザー ページ「/MySC」にリダイレクトされます。

ただし、ログインしたユーザーがドメイン ルート「/」を入力するだけで、フロント ページが表示されます。私が望むのは、ユーザーがログインしているときにフロントページに再度アクセスできないようにすることです。彼がフロント ページに移動するか、ロケーション バーにドメイン ルートを入力することを要求した場合、「/MySC」にリダイレクトされるようにしたいと考えています。どうやってやるの?

役に立ちましたか?

解決

非常に強力な 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>

他のヒント

ページ構造を小さな再設計することをお勧めします:フロントページを作成します /start 認証されたユーザーが表示され、にリダイレクトできるページ /login ユーザーがまだ認証されていない場合。

この設計は、懸念の分離の観点からクリーンであるだけでなく(異なるフォルダー内の認証ロジックをバンドルすることができます)、コンテキストルートと認証ページを混合する問題も解決します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top