前のページへ | 次のページへ

10.8.3 認証

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>

前のページへ | 次のページへ