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