class WEBrick::HTTPAuth::Htpasswd + WEBrick::HTTPAuth::UserDB
クラスの継承リスト: WEBrick::HTTPAuth::Htpasswd < WEBrick::HTTPAuth::UserDB < Object < Kernel < BasicObject
要約
Apache の htpasswd 互換のクラスです。 .htpasswd ファイルを新しく作成することも出来ます。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。
例
require 'webrick'
include WEBrick
htpd = HTTPAuth::Htpasswd.new('dot.htpasswd')
htpd.set_passwd(nil, 'username', 'supersecretpass')
htpd.flush
htpd2 = HTTPAuth::Htpasswd.new('dot.htpasswd')
pass = htpd2.get_passwd(nil, 'username', false)
p pass == 'supersecretpass'.crypt(pass[0,2])
特異メソッド
new(path) -> WEBrick::HTTPAuth::Htpasswd-
Htpasswd オブジェクトを生成します。
- [PARAM] path:
- パスワードを保存するファイルのパスを与えます。
インスタンスメソッド
auth_type -> Class-
WEBrick::HTTPAuth::BasicAuth, WEBrick::HTTPAuth::DigestAuth のいずれかを返します。
auth_type=(type)-
認証のタイプをセットします。
- [PARAM] type:
- WEBrick::HTTPAuth::BasicAuth, WEBrick::HTTPAuth::DigestAuth のいずれかを指定します。
delete_passwd(realm, user) -> String-
ユーザのパスワードを削除します。realm は無視されます。
- [PARAM] realm:
- レルムは無視されます。
- [PARAM] user:
- ユーザ名を指定します。
each {|user, pass| ...} -> Hash-
ユーザ名とパスワードをブロックに与えて評価します。
flush(path = nil)-
ファイルに書き込みます。ファイル名を与えた場合は、そこに書き込みます。
- [PARAM] path:
- ファイル名を指定します。
get_passwd(realm, user, reload_db) -> String-
ユーザのパスワードの crypt された文字列を取得します。
- [PARAM] realm:
- レルムは無視されます。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] reload_db:
- 真を指定すると WEBrick::HTTPAuth::Htpasswd#reload を呼んでから値を返します。
get_passwd(realm, user, reload_db = false) -> String-
与えられたレルムとユーザ名からパスワードのハッシュ値を取得して返します。
- [PARAM] realm:
- レルムを指定します。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] reload_db:
- 無視されます。
make_passwd(realm, user, pass) -> String-
WEBrick::HTTPAuth::UserDB#auth_type の make_passwd を呼び出します。
- [PARAM] realm:
- レルムを指定します。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] pass:
- パスワードを指定します。
[SEE_ALSO] WEBrick::HTTPAuth::BasicAuth#make_passwd, WEBrick::HTTPAuth::DigestAuth#make_passwd
reload-
ファイルから再度読み込みます。
set_passwd(realm, user, pass)-
与えられた情報をもとに、パスワードをハッシュ化して保存します。
- [PARAM] realm:
- レルムは無視されます。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] pass:
- パスワードを指定します。
set_passwd(realm, user, pass)-
与えられた情報をもとに、パスワードをハッシュ化して保存します。
- [PARAM] realm:
- レルムを指定します。
- [PARAM] user:
- ユーザ名を指定します。
- [PARAM] pass:
- パスワードを指定します。