おはよう 私は一定の役割によって実行されるように固定されている私のセッションBeanのメソッドがありますのWebLogic 10認証さuesrの役割は何ですか - Javaの
にEJB2(古いアプリケーション)を使用しています。
私は多分、いくつかの異なる役割のユーザーによって実行されるいくつかのメソッドので
`@ejb.permission role-name="role1, role2"`
に注釈を付ける私のEJBインタフェース方式のそれぞれ、どのように私は、メソッドを実行する役割を伝えることができますか?
私は
Principal principal = ctx.getCallerPrincipal() ;
boolean isRole = ctx.isCallerInRole("role2") ;
「呼び出し側が一定の役割である」しかし、実際の発信者の役割を取得する方法があるかどうかを知る方法を知っていますか? 「getCallerRole()」などのようなもの?私はこれらの役割のそれぞれがの「WebLogicセキュリティロールでLDAPにマップされ、その後
<security-role>
<role-name>role1</role-name>
<role-name>role2</role-name>
</security-role>
役割は、アプリケーションドメイン内にあるものを指定するXMLファイル「のejb-セキュリティroles.xml」で
-assignment.xml "
<security-role-assignment>
<role-name>role1</role-name>
<principal-name>Role1User</principal-name>
</security-role-assignment>
<security-role-assignment>
<role-name>role2</role-name>
<principal-name>Role2User</principal-name>
</security-role-assignment>`
誰も助けて、思考の正しい道を教えてくれますか?
問題は、最終的には2〜3のように多くの役割が追加される可能性がありますが、10-12です。コードが複雑になる...私はデータベースの列に書き込むためにこれらの役割にアクセスする必要があります - 事件の作成のようなもの:( –
はい、私はあなたが他のセキュリティ管理ライブラリ、例えばspring-security https://projects.spring.io/spring-security/ –
さて、将来の移行と更新プロジェクトのためのものです。私は、いくつかの役割のためにisCallerInRole()の方法をチェックすることで対処できます今ある –