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