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


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>


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