BASIC認証を行う準備はできており、request
オブジェクトのuser
とpassword
というプロパティを参照すればいい。
ここにユーザ名とパスワードが格納されている。
ユーザ名とパスワードを検証して、OKならそのまま後継の処理を続ける。
NGなら、unauthorized()
で401を返却すればいい。
- 初回、ブラウザはユーザ名、パスワードなしでリクエストをしてくるので、
unauthorized
で401を返す。 - ブラウザは認証ダイアログを表示し、ユーザ名とパスワード入力を求める。
- ユーザ名とパスワードが入力されたら、入力された情報とともにリクエストしてくる。
という流れになる。
ログアウトは、認証状態でunauthorized
を返せばよいようだ。
挙動的にはイマイチな感じもするがそうゆうものみたいだ。
例
/**
* BASIC認証
*/
public static void test2() {
if ("user".equals(request.user) && "pass".equals(request.password)) {
renderText("認証した.");
}
unauthorized();
}