ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

5.4.2 ユーザー/グループをロールにマッピング

配備担当者はGlassFish Serverのdeployment descriptorを編集し、ユーザーまたはグループをロールにマッピングします。ユーザー/グループをロールにマッピングすることにより、deployment descriptorで定義されたロールに対応するユーザー/グループに対して認可レベルを制御することができるようになります。詳細は、「3.2.1 GlassFish Serverのdeployment descriptor」を参照してください。



GlassFish Serverのdeployment descriptor(glassfish-web.xml)の記述例

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE glassfish-web-app PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
  <security-role-mapping>
    <role-name>role1</role-name>
    <principal-name>user1</principal-name>
    <principal-name>user2</principal-name>
  </security-role-mapping>
  <security-role-mapping>
    <role-name>role2</role-name>
    <principal-name>user3</principal-name>
    <group-name>group1</group-name>
  </security-role-mapping>
</glassfish-web-app>

例えば、「5.4.1 ロールとロールベースのアクセス制限の設定」の例1)、例2)のweb.xmlと上記のglassfish-web.xmlを使用した場合、以下の認可レベルとなります。なお、group1にuser4,user5が属しているとします。

例1)

  • user1,user2:
    index1.htmlにアクセス可能

  • user3,user4,user5:
    index2.htmlにアクセス可能

例2)

  • user1,user2:
    Servlet「test」にアクセスする際に、ServletAPIのHttpServletRequest#isUserInRole("servletUser1")がtrueになる

  • user3,user4,user5:
    Servlet「test」にアクセスする際に、ServletAPIのHttpServletRequest#isUserInRole("servletUser2")がtrueになる