Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
13.3. Hibernate の宣言的なセキュリティ
一般的に Hibernate アプリケーションの宣言的なセキュリティは、セッションファサード層で管理します。Hiberenate3 は JACC で許可し、さらに JAAS で認証したアクションも可能です。これはイベントアーキテクチャの最上位に組み込まれているオプション機能です。
まず最初に、適切なイベントリスナを設定して JAAS 認証を使えるようにしなければなりません。
<listener type="pre-delete" class="org.hibernate.secure.JACCPreDeleteEventListener"/> <listener type="pre-update" class="org.hibernate.secure.JACCPreUpdateEventListener"/> <listener type="pre-insert" class="org.hibernate.secure.JACCPreInsertEventListener"/> <listener type="pre-load" class="org.hibernate.secure.JACCPreLoadEventListener"/>
特定のイベント型に対してちょうど一つのリスナがあるとき、
<listener type="..." class="..."/>
は <event type="..."><listener class="..."/></event>
の簡略形に過ぎないことに注意してください。
次に、同じく
hibernate.cfg.xml
でロールにパーミッションをバインドしてください:
<grant role="admin" entity-name="User" actions="insert,update,read"/> <grant role="su" entity-name="User" actions="*"/>
このロール名は使用する JACC プロバイダに理解されるロールです。