要約
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:
- パスワードを指定します。