文法:
Python*Handler Syntax
コンテキスト:
サーバ設定、バーチャルホスト、ディレクトリ、 htaccess
オーバライド:
not None
モジュール:
mod_python.c
このルーチンはリクエストと同時に送られてきた認証情報を (ユーザがデータベースの中にあるかどうか、また [暗号化された] パスワードがデータベース上のパスワードと一致しているかを調べるなどして) チェックするときに呼ばれます。
ユーザ名を得るには、req.userを使います。また、
ユーザが入力したパスワードを得るにはreq.get_basic_auth_pw()関数を使います。
apache.OKを返すことで、認証の成功を意味します。
apache.HTTP_UNAUTHORIZEDを返すと大抵のブラウザでは
認証(パスワード)ダイアログが再度表示されます。
apache.HTTP_FORBIDDENを返すとエラーを表示し、
認証(パスワード)ダイアログは表示されません。
認証は成功しているものの、ユーザが特定のURLにアクセスを許されていない場合には
HTTP_FORBIDDENを使ってください。
認証ハンドラの例は以下のようになります:
def authenhandler(req):
pw = req.get_basic_auth_pw()
user = req.user
if user == "spam" and pw == "eggs":
return apache.OK
else:
return apache.HTTP_UNAUTHORIZED
req.get_basic_auth_pw()はreq.userの値を使う前に
呼び出さねばなりません。Apacheはreq.get_basic_auth_pw()を呼び出すまで
認証情報のデコードを試みません。