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=="

在这里,如果你 decode oa76dfexvdd3==,你会得到类似“myusr:mypwd”的东西,然后你可以用它来进行身份验证。

于 2013-05-10T07:07:22.330 回答