|
Webアプリケーションの認証について、Tomcatを例として説明します。 |
|
Tomcatでは、<Tomcatインストールディレクトリ>\conf\tomcat-users.xml ファイルでロール名、ユーザ名及びパスワードを記述します。 |
|
本Webアプリケーションでは、ロール名 manager に対してユーザ名とパスワードを定義します。 |
<tomcat-users.xml 記述例>
(ロール名 :manager に対してユーザ名 :admin パスワード :admin )
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
認証については、Webアプリケーションのweb.xmlの記述によります。 |
web.xmlファイルの位置は以下です。 |
<Webアプリケーションサーバソフトインストールディレクトリ>\WEB-INF\web.xml |
|
web.xmlの認証関連の記述を以下に示します。 |
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- 認証定義 -->
<!-- セキュリティ情報の定義 -->
<security-constraint>
<display-name>セキュリティ制約</display-name>
<web-resource-collection>
<web-resource-name>Maintener Auth</web-resource-name>
<description>保守用者保護領域</description>
<url-pattern>/maintenance/*</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Manager Auth</web-resource-name>
<description>マネージャ用保護領域</description>
<url-pattern>/manager/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>このロール名(ユーザグループ)が上記の保護領域にアクセス可能</description>
<role-name>admin</role-name>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
<!-- 認証方式の定義 -->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Maintener Auth</realm-name>
<form-login-config>
<form-login-page>/auth/login.jsp</form-login-page>
<form-error-page>/auth/error.jsp</form-error-page>
</form-login-config>
</login-config>
<!-- ロール名の定義 -->
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>manager</role-name>
</security-role>
</web-app>