ユーザー認証自体は、Tomcatの認証機能を利用しています。
(ユーザーリソースは、認証後のユーザーIDに対して、ロールなどの付加情報が定義されているだけで、ユーザーリソース自体で認証を行っているのではありません。)
このため、Tomcatが対応している認証方法であれば、どのような認証方法でも対応することができます。
BASIC認証 †
標準の設定では、認証は、BASIC認証で設定されています。
BASIC認証のレノムの設定は、apps/tomcatxxx/conf/server.xmlで以下のように定義されています。
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="${connectionDriver}"
connectionURL="${connectionUrl}"
connectionName="${connectionName}"
connectionPassword="${connectionPassword}"
userTable="GEA10V01" userNameCol="USERID" userCredCol="PASSWD"
userRoleTable="GEA10V01" roleNameCol="SYSTEM_ID"
/>
connectionDriver、connectonUrl、connectionName,connectionPasswordは、uap\bin\init.batで定義されている環境変数です。
認証用のテーブルは、'GEA10V01'として定義されています。このViewは、ユーザーリソースであるGEA10から有効なデータ(FGJ='1')のみを検索するためのものです。
また、標準の定義では、ユーザーとそのロールを同じGEA10V01から取得しています。
(このロールは、openGionのロールとは異なります!あくまでTomcatの認証用のロールです!)
ロールは、ユーザーリソースのシステムIDを参照しています。
このロールは、各コンテキストのWEB-INF/web.xmlで定義されたsecurity-constraintタグのrole-nameに対応し、そのrole-nameのシステムIDでユーザーが登録されている場合に、認証がパスされます。
<security-constraint> <web-resource-collection> <web-resource-name>Protected JSP Area</web-resource-name> <url-pattern>/jsp/*</url-pattern> <url-pattern>/filetemp/*</url-pattern> <url-pattern>/help/*</url-pattern> <url-pattern>/webdav/filetemp/*</url-pattern> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>GF</role-name> </auth-constraint> </security-constraint>
具体的に、以下のように、GEとGFのシステムIDのユーザーリソースが存在する場合、
| システムID | ユーザーID |
| GE | C00000 |
| GF | C00000 |
role-nameが
<role-name>GF</role-name>
となっている場合は、認証が通り、
<role-name>GG</role-name>
となっている場合は、認証が拒否されます。
シングルサインオン認証(JOSSO) †
Webアプリケーション間のシングルサインオンを実現するために、JOSSO:http://www.josso.org/confluence/display/JOSSO1/JOSSO+-+Java+Open+Single+Sign-On+Project+Home?を利用します。
JOSSOを利用することで、Tomcat等、JavaベースのWebアプリだけでなく、PHP等の他のWebアプリを含めてシングルサインオンを実現することができます。
設定方法については、JOSSOの設定を参照して下さい。