BASIC認証(サーブレットの用意)

広告

まず一番基本的な認証方法であるBASIC認証を見ていきます。セキュリティが設定されたサーブレットにアクセスしようとするとダイアログが表示されてユーザー名とパスワードの入力を求められるものです。

BASIC認証

それではBASIC認証を試していくにあたってテスト用のサーブレットを用意しておきます。

簡単なサーブレットでいいので次のような2つのサーブレットを用意しました。

AuthTest1.java

AuthTest2.java

内容はほぼ同じものですので、1つだけ下記に添付しておきます。それぞれのサーブレットからもう1つのサーブレットへのリンクが設定されています。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class AuthTest1 extends HttpServlet {
  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException{

    response.setContentType("text/html; charset=Shift_JIS");
    PrintWriter out = response.getWriter();

    out.println("<html>");
    out.println("<head>");
    out.println("<title>ユーザー認証テスト</title>");
    out.println("</head>");
    out.println("<body>");

    out.println("<p>テストページ1</p>");

    out.println("<p><a href=¥"/auth/AuthTest2¥">テストページ2へ</a></p>");

    out.println("</body>");
    out.println("</html>");
  }
}

アプリケーションの置き場所は「D:¥servlet-sample¥auth¥」とします。

D:¥servlet-sample
   |
   +--auth
       |
       +-- WEB-INF
            |
            +-- classes
            |     |
            |     +-- (AuthTest1.class)
            |     |
            |     +-- (AuthTest2.class)
            |
            +-- (web.xml)

web.xmlファイルは基本的な設定だけを行っておきます。

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  version="2.4">

  <servlet>
    <servlet-name>AuthTest1</servlet-name>
    <servlet-class>AuthTest1</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AuthTest1</servlet-name>
    <url-pattern>/AuthTest1</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>AuthTest2</servlet-name>
    <servlet-class>AuthTest2</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AuthTest2</servlet-name>
    <url-pattern>/AuthTest2</url-pattern>
  </servlet-mapping>
</web-app>

またコンテキストファイルは次のようになります。コンテキストファイルは「(Tomcatをインストールしたディレクトリ)¥Tomcat 5.5¥conf¥Catalina¥localhost¥」に置いておきます。

auth.xml

<Context path="/auth"
docBase="d:/servlet-sample/auth">
</Context>

設定は以上です。セキュリティを設定していない状態でサーブレットが表示出来ることを確認しておいて下さい。ブラウザで「http://localhost:8080/auth/AuthTest1」へアクセスしてみます。

BASIC認証

上記のように表示できれば準備は大丈夫です。では次のページからセキュリティの設定を行っていきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)