Enterprise Server では、接続プールの代わりに JDBC レルムにユーザー資格 (ユーザー名とパスワード) を指定できます。接続プールの代わりに jdbc タイプのレルムを使用すると、ほかのアプリケーションがユーザー資格のデータベース表を参照するのを防止できます。
JDBC レルムでは、デフォルトでは平文によるパスワードの保存はサポートされません。通常の状況では、パスワードを平文で保存しないでください。
レルムのユーザー資格を格納するデータベース表を作成します。
データベース表の作成方法は、使用しているデータベースによって異なります。
作成したデータベース表にユーザー資格を追加します。
データベース表にユーザー資格を追加する方法は、使用しているデータベースによって異なります。
データベースの JDBC 接続プールを作成します。
「JDBC 接続プールを作成する」を参照してください。
データベースの JDBC リソースを作成します。
レルムを作成します。
手順については、「認証レルムを作成する」を参照してください。
JAAS コンテキストは、ダイジェスト認証では jdbcDigestRealm に、その他の認証タイプでは jdbcRealm になります。
配備記述子を変更して、jdbc レルムを指定します。
アプリケーションに関連付けられている配備記述子を変更します。
Enterprise Archive (EAR) ファイルのエンタープライズアプリケーションの場合は、sun-application.xml ファイルを変更します。
Web Application Archive (WAR) ファイルの Web アプリケーションの場合は、web.xml ファイルを変更します。
EJB JAR ファイルのエンタープライズ Bean の場合は、sun-ejb-jar.xml ファイルを変更します。
レルムの指定方法については、『Sun GlassFish Enterprise Server v3 Application Development Guide』の「How to Configure a Realm」を参照してください。
レルム内のユーザーにセキュリティーロールを割り当てます。
ユーザーにセキュリティーロールを割り当てるには、変更した配備記述子に security-role-mapping 要素を追加します。
データベースが動作していることを確認します。
必要に応じて、「データベースを起動する」を参照してください。
認証を適用するには、サーバーを再起動します。
「ドメインの再起動」を参照してください。
この例では、セキュリティーロール Employee をユーザー Calvin に割り当てる security-role-mapping 要素を示します。
<security-role-mapping> <role-name>Employee</role-name> <principal-name>Calvin</principal-name> </security-role-mapping>