2013-05-08 2 views
0

Мне нужно внедрить аутентификацию на основе ActiveDirectory на моем сайте. Я разрабатываю gusing Play framework. В качестве демонстрации я создал пример приложенияКак получить доступ к учетным данным, переданным во всплывающем окне проверки подлинности для ответа 401

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"); 
} 

Это открывает всплывающее окно для проверки подлинности на клиенте. Теперь, как мне получить доступ к этим учетным данным?

ответ

0

ОК, я нашел ответ

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

Заголовок авторизации содержит имя пользователя: пароль в кодировке Base64 форме.

AUTHORIZATION = "Basic oa76dfexvdd3==" 

здесь, если вы расшифровать oa76dfexvdd3==, вы получите что-то вроде «myusr: mypwd», которые затем можно использовать для аутентификации.