playframework1‎ > ‎controller‎ > ‎

BASIC認証

BASIC認証を行う準備はできており、requestオブジェクトのuserとpasswordというプロパティを参照すればいい。
ここにユーザ名とパスワードが格納されている。

ユーザ名とパスワードを検証して、OKならそのまま後継の処理を続ける。
NGなら、unauthorized()で401を返却すればいい。

  1. 初め、ブラウザはユーザ名、パスワードなしでリクエストをしてくる。
  2. unauthorizedで401を返す。
  3. ブラウザは認証ダイアログを表示し、ユーザ名とパスワード入力を求める。
  4. ユーザ名とパスワードが入力されたら、入力された情報とともにリクエストしてくる。
という流れ。

ログアウトは、認証状態でunauthorizedを返せばよいようだ。挙動的にはイマイチかも?

実装例)
    /**
     * BASIC認証
     */
    public static void test2() {
        if ("user".equals(request.user) && "pass".equals(request.password)) {
            renderText("認証した.");
        }
        unauthorized();
    }