class WEBrick::HTTPAuth::Htpasswd

[edit]

要約

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])

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

WEBrick::HTTPAuth::UserDBから継承しているメソッド

特異メソッド

new(path) -> WEBrick::HTTPAuth::Htpasswd[permalink][rdoc][edit]

Htpasswd オブジェクトを生成します。

[PARAM] path:
パスワードを保存するファイルのパスを与えます。

インスタンスメソッド

delete_passwd(realm, user) -> String[permalink][rdoc][edit]

ユーザのパスワードを削除します。realm は無視されます。

[PARAM] realm:
レルムは無視されます。
[PARAM] user:
ユーザ名を指定します。
each {|user, pass| ...} -> Hash[permalink][rdoc][edit]

ユーザ名とパスワードをブロックに与えて評価します。

flush(path = nil)[permalink][rdoc][edit]

ファイルに書き込みます。ファイル名を与えた場合は、そこに書き込みます。

[PARAM] path:
ファイル名を指定します。
get_passwd(realm, user, reload_db) -> String[permalink][rdoc][edit]

ユーザのパスワードの crypt された文字列を取得します。

[PARAM] realm:
レルムは無視されます。
[PARAM] user:
ユーザ名を指定します。
[PARAM] reload_db:
真を指定すると WEBrick::HTTPAuth::Htpasswd#reload を呼んでから値を返します。
reload[permalink][rdoc][edit]

ファイルから再度読み込みます。

set_passwd(realm, user, pass)[permalink][rdoc][edit]

与えられた情報をもとに、パスワードをハッシュ化して保存します。

[PARAM] realm:
レルムは無視されます。
[PARAM] user:
ユーザ名を指定します。
[PARAM] pass:
パスワードを指定します。