私はEJBアプリケーションに取り組んでいます。セッションBean(EJB3)メソッドにロールベースのセキュリティを適用する必要があります。そのために、セッションBeanメソッドに以下のように「@RolesAllowed」というアノテーションを付けてみました。
ユーザー、グループ、およびロールを作成するために、以下のようにjazn-data.xmlを使用しています。
EJBをデプロイしてアプリケーションを実行した後、セキュリティが適用され、例外がスローされます[EJB:010160]セキュリティ違反:ユーザー:「XXX」にはEJBにアクセスするための十分な権限がありません
以下のようにweblogicejbデプロイメント記述子を追加した後、
<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.1/weblogic-ejb-jar.xsd"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar">
<weblogic-enterprise-bean>
<ejb-name>ApplicationFacade</ejb-name>
<stateless-session-descriptor/>
<enable-call-by-reference>true</enable-call-by-reference>
</weblogic-enterprise-bean>
<security-role-assignment>
<role-name>PVUser</role-name>
<principal-name>pv</principal-name>
</security-role-assignment>
<security-role-assignment>
<role-name>PRUser</role-name>
<principal-name>pr</principal-name>
</security-role-assignment>
</weblogic-ejb-jar>
期待どおりに動作し始めます。
私の質問はweblogicejbデプロイメント記述子(weblogic-ejb-jar.xml)に関連しています。新しいユーザーを追加するたびに、各ユーザー(pricipal-name)のエントリを作成する必要がありますか。ユーザーグループをマップできますか?
また、権限を追加するために必要な他の構成を見逃した場合はお知らせください。