私はJDeveloper 11gリリース1でOracle ADFを使用しています。さまざまなグループのアプリケーション・ロールを構成するのに夢中です。説明させてください、私は次のような状況にあり、いくつかのアイデアを探しています: commit (RichCommandButton) Enterprise の特定の役割のみを有効にしたいのですが、どうすればよいですか? ページの BackingBean get メソッドで if ステートメントを実行することにしましたよね?どのように進めるのが適切ですか?
3 に答える
特定のアクションを許可するかどうかを判断するために役割を確認することは問題ありませんが、アプリケーションが特定の役割に対してハードコーディングされた依存関係を持つ可能性があります。将来、役割を追加することにした場合はどうなりますか?
より良い方法は、代わりにパーミッションを確認し、ロールにパーミッションを提供することです。このようにして、ポリシーは特定のロールに関連付けられません。ただし、ロールにアクセス許可を付与する方法が必要なため、このアプローチははるかに複雑です。
{securityContext.userInRole ['ロール リスト']}
#{securityContext.userInAllRoles ['役割リスト']}
ドキュメントから: http://docs.oracle.com/cd/E16162_01/web.1112/e16182/adding_security.htm および http://adfcodebits.blogspot.com/2010/04/bit-12-accessing-authenticated- users.html
アプリケーション内の抽象化であるため、実際にアプリケーションのロールをチェックすることは問題ありません。ただし、権限 (カスタムの ResourcePermission を作成できます) を使用すると、コミット操作を後で他のロールに付与できるため、より良いアプローチであることに同意します (Enterprise Manager は ADF の管理ツールであり、セキュリティ許可を変更します)。
あなたはADFとADFセキュリティを初めて使用するようです。ADFセキュリティをエンドツーエンドで説明している次のビデオ録画をご覧ください。
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfSecurity/AdfSecurity.html
別の有用なリソースは次のとおりです。
http://www.oracle.com/technetwork/issue-archive/2012/12-jan/o12adf-1364748.html
これは、ADF セキュリティ (前述の ResourcePermission を含む) をまとめたもので、サンプル アプリケーションをダウンロードして参照したりコピーしたりできます)。
フランク