これをEE6で行うには中立的な方法はありますか?
はい、あります。除いて、sun-web.xml内の任意のエントリなしGlassfishの中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
...
<login-config>
<auth-method>FORM</auth-method>
<realm-name>myRealm</realm-name> <!-- the name of the realm created in the application server should be specified here -->
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/login-error.xhtml</form-error-page>
</form-login-config>
</login-config>
...
</web-app>
上記作品:あなたは下に示したものと同様に、web.xmlファイルにレルム名を指定する必要があります(認可制約を実施するために使用される)グループマッピングの役割JBossの配備記述子でsecurity-domain
要素を指定
は
あなたはWebモジュールとEJBモジュールを持っている場合、より良いアプローチであること必見使用JBossで唯一のセキュリティマネージャからプリンシパル(および他のコンテナでの同等の実装)。
JAASログインモジュールがどのように動作し、ejb-jar.xml
に認証のレルムを指定できない場合、EJBコンテナは、別のログインモジュールからの認証応答に基づいてビジネスメソッド呼び出しを許可する可能性があります。意図されました)。これは、異なるレルムにあるがビジネス・メソッドで許可されたロールにマップされた同じグループのユーザーがビジネス・メソッドを呼び出すことができることを意味します。ベンダー固有のデプロイメント記述子にセキュリティドメインを指定するのは、このシナリオを避けるためです。
注 - WARにデプロイされたEJB用のJAASログインモジュールを選択する際のコンテナの動作が不明です。