0

Play フレームワークを使用して開発しているサイトに ActiveDirectory ベースの認証を実装する必要があります。デモとして、サンプルアプリを作成しました

public static Result index() 
{
    boolean IsLoggedIn = false;
    String authorization = request().getHeader(AUTHORIZATION);

    if(!IsLoggedIn)
    {
        String usrnm = request().username();
        response().setHeader(WWW_AUTHENTICATE, "Basic realm=\"Enter Your ID and password\"");    
        return unauthorized("You Need to Login first");
    }
    return ok("Welcome to nowhere");
}

これにより、クライアントで認証ポップアップが開きます。では、これらの資格情報にアクセスするにはどうすればよいでしょうか。

4

1 に答える 1

0

わかりました、答えが見つかりました

 String authorization = request().getHeader(AUTHORIZATION);

認証ヘッダーには、base64 エンコード形式のユーザー名:パスワードが含まれています。

AUTHORIZATION = "Basic oa76dfexvdd3=="

ここで をデコードするoa76dfexvdd3==と、「myusr:mypwd」のようなものが得られ、これを認証に使用できます。

于 2013-05-10T07:07:22.330 に答える