こんにちは、私は実際に非常に特定の問題に関するヒントやアイデアを得ようとしています. テクノロジ コンテキストは、JSF 2.1 を使用した Java Web アプリです。
だから私はJSF 2.1を搭載したシンプルなJava eeアプリを持っています。構造は次のとおりです
\webapp
\WEB-INF
\templates
header.xhtml
menu.xhtml
web.xml
\secured
\operation1
op1.xhtml
\operation2
op2.xhtml
\operation3
op3.xhtml
userhome.xhtml
login.xhtml
「ユーザー」Beanが設定されていない場合に備えて@WebFilter
、アクセスを制限するものがあります(実際にはセッションスコープBean)。/secured/*
ログインと同時に、ユーザー資格情報に応じて動的メニューを作成します。このメニュー (MenuItems) は、1 つ以上の操作 (xhtml ページ) を指します。
これまでのところ、ユーザーはログインし、メニューは動的であり、リンクが生成されており、クリックすると、実行する必要がある操作に移動できます。
私の問題は、これらのページの絶対 URL へのアクセスを制限する洗練された方法を決定できないことです。ユーザー 1 が操作 1 を実行することを「承認」されているが、操作 2 または操作 3 を実行することは許可されていない場合、現在、実際の Web ユーザーが URL に書き込む場合、彼のセッション状態をチェックし、一般的なルール (ナビゲーション ルール?) を適用する最もエレガントな方法を見つけることができません。 bar 操作の絶対パス。
「/secured/operation1/op2.xhtml」
そのような要件を達成するための最もJSF2と互換性のある方法は何ですか?
個別のページごとに preRenderView を試しましたがopxx.xhtml
、残念ながら機能しませんでした + 各操作で繰り返すのは好きではありません
ヒントをありがとうございました。