0

私たちは非常に単純な方法で JSF を使用しています。私たちが行っているのは、小さな Java コードを含むタグを実装することだけです。

ユーザーがログインしていないときはいつでも 302 リダイレクトをログイン ページに戻す「セキュリティ」タグを実装しました。

// make them log in
ctx.getExternalContext().redirect("login.xhtml");
ctx.responseComplete();

問題は、redirect() メソッドがページの残りのレンダリングを停止しないことです。ページのさらに下にあるタグが実行されています。これは問題です。ログインしていないユーザーは、ブラウザでリダイレクトを無視すると、見るべきではないものを見ることができるからです。

responseComplete() を取得して、本来あるべきだと思っていたことを実行させるにはどうすればよいですか?

4

3 に答える 3

0

フラグを使用して、ユーザーがログインしているかどうかを確認できる場合があります。
次に、render=#{managedBean.logged}レンダリングしたくないタグのプロパティを使用できます。
これは単なる回避策です...あなたが提供したその量の情報ではあまり役に立ちません。

于 2013-02-07T01:26:51.483 に答える
0

それを試してみてください!

ctx.getExternalContext().dispatch("login.xhtml");
ctx.responseComplete();
于 2013-12-05T13:59:36.730 に答える