9.2.3.2. EJB セキュリティーアノテーションの使用


概要

XML 記述子またはアノテーションのいずれかを使用して、Enterprise JavaBeans(EJB)でメソッドを呼び出すことのできるセキュリティーロールを制御できます。XML 記述子の使用方法は、「EJB メソッドパーミッションの使用」 を参照してください。

デプロイメント記述子に明示的に指定されるメソッドの値はすべて、アノテーションの値を上書きします。メソッドの値がデプロイメント記述子で指定されていない場合は、アノテーションを使用して設定された値が使用されます。上書きの粒度は、方法ごとに決定されます。

EJB のセキュリティーパーミッションを制御するアノテーション

@DeclareRoles
@DeclareRoles を使用して、パーミッションをチェックするセキュリティーロールを定義します。@DeclareRoles がない場合、この一覧は @RolesAllowed アノテーションから自動的にビルドされます。ロールの設定に関する情報は、「 『Java EE 6 チュートリアル』 で セキュリティーロールの宣言による承認ユーザーの指定」を参照してください
@RolesAllowed, @PermitAll, @DenyAll
@RolesAllowed を使用して、メソッドまたはメソッドへのアクセスを許可するロールを一覧表示します。メソッドまたはメソッドの使用をすべて許可または拒否するには、@PermitAll または @DenyAll を使用します。アノテーションメソッドパーミッション の設定に関する詳細は、「 『Java EE 6 チュートリアル』 による承認済みのユーザーの指定」を参照してください
@RunAs
@RunAs を使用して、アノテーション付きメソッドから呼び出しを行う際にメソッドが使用するロールを指定します。アノテーションを使用した伝播されたセキュリティーアイデンティティー の設定に関する詳細は、「 『Java EE 6 チュートリアル』 によるセキュリティーアイデンティティー(Run-As) 」のチュートリアルを参照してください。

例9.10 セキュリティーアノテーションの例

@Stateless
@RolesAllowed({"admin"})
@SecurityDomain("other")
public class WelcomeEJB implements Welcome {
	@PermitAll
	public String WelcomeEveryone(String msg) {
		return "Welcome to " + msg;
	}
	@RunAs("tempemployee")
	public String GoodBye(String msg) {
	    return "Goodbye, " + msg;
	}
	public String GoodbyeAdmin(String msg) {
		return "See you later, " + msg;
	}
}
Copy to Clipboard Toggle word wrap
このコードでは、すべてのロールがメソッド WelcomeEveryone にアクセスできます。GoodBye メソッドは、呼び出しの実行時に tempemployee ロールを使用します。admin ロールのみがメソッド GoodbyeAdmin にアクセスでき、セキュリティーアノテーションのないその他のメソッドにアクセスできます。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る