要約
HTTP の Digest 認証のためのクラスです。
[RFC2617] も参照してください。
例:
require 'webrick' config = { :Realm => 'DigestAuth example realm' } htdigest = WEBrick::HTTPAuth::Htdigest.new 'my_password_file' htdigest.set_passwd config[:Realm], 'username', 'password' htdigest.flush config[:UserDB] = htdigest digest_auth = WEBrick::HTTPAuth::DigestAuth.new config
サーブレットの initialize メソッドの中でこのクラスのインスタンスを作成しないようにしてください。デフォルトでは WEBrick はリクエストのたびにサーブレットのインスタンスを生成しますが、 WEBrick::HTTPAuth::DigestAuth のオブジェクトはリクエストをまたいで利用しなければならないためです。
目次
- 特異メソッド
- インスタンスメソッド
継承しているメソッド
特異メソッド
make_passwd(realm, user, pass) -> String
[permalink][rdoc][edit]-
与えられた情報を使用してハッシュ化したパスワードを生成します。
- [PARAM] realm:
- レルムを指定します。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] pass:
- パスワードを指定します。
new(config, default = WEBrick::Config::DigestAuth) -> WEBrick::HTTPAuth::DigestAuth
[permalink][rdoc][edit]-
自身を初期化します。
認証を実行するために、リクエスト間で状態を保存し、複数のリクエストに対して同一のインスタンスを使用してください。
- [PARAM] config:
- 設定を保持しているハッシュを指定します。 :Realm と :UserDB は必ず指定しなければなりません。
- [PARAM] default:
- デフォルトは WEBrick::Config::DigestAuth です。
[SEE_ALSO] WEBrick::Config::DigestAuth
インスタンスメソッド
algorithm -> String
[permalink][rdoc][edit]-
アルゴリズムを表す文字列を返します。
authenticate(request, response) -> true
[permalink][rdoc][edit]-
クライアントから送られてきたユーザ名とパスワードを認証します。認証に失敗した場合は challenge を呼びます。
- [PARAM] request:
- WEBrick::HTTPRequest のインスタンスを指定します。
- [PARAM] response:
- WEBrick::HTTPResponse のインスタンスを指定します。
- [EXCEPTION] WEBrick::HTTPStatus::Unauthorized:
- 認証に失敗した場合に発生します。
challenge(request, response, stale = false)
[permalink][rdoc][edit]-
クライアントにパスワードを要求するためにレスポンスに WWW-Authenticate ヘッダを設定し、例外 WEBrick::HTTPStatus::Unauthorized を発生させます。
- [PARAM] request:
- WEBrick::HTTPRequest のインスタンスを指定します。
- [PARAM] response:
- WEBrick::HTTPResponse のインスタンスを指定します。
- [EXCEPTION] WEBrick::HTTPStatus::Unauthorized:
- このメソッドを呼ぶと必ず発生します。
qop -> String
[permalink][rdoc][edit]-
Qop キーの値を返します。