Поделиться через


Класс Sys.Services.AuthenticationService

Предоставляет клиентский прокси-класс для службы проверки подлинности.

Пространство имен: Sys.Services

Наследования: отсутствуют

Члены

Имя

Описание

Конструктор Sys.Services.AuthenticationService

Инициализирует новый экземпляр класса Sys.Services.AuthenticationService.

Поле Sys.Services.AuthenticationService.DefaultWebServicePath

Задает путь службы проверки подлинности, используемой по умолчанию.

Метод Sys.Services AuthenticationService login

Проверяет подлинность учетных данных пользователя.

Метод Sys.Services AuthenticationService logout

Выполняет выход из системы для текущего пользователя, для которого была выполнена проверка подлинности.

Свойство Sys.Services AuthenticationService defaultFailedCallback

Получает или задает имя функции обратного вызова, используемой по умолчанию при неудачном завершении исходного вызова.

Свойство Sys.Services AuthenticationService defaultLoginCompletedCallback

Получает или задает имя функции обратного вызова по умолчанию при выполнении входа.

Свойство Sys.Services AuthenticationService defaultLogoutCompletedCallback

Получает или задает имя функции обратного вызова, используемой по умолчанию при завершении выхода.

Свойство Sys.Services AuthenticationService defaultSucceededCallback

Получает или задает для службы используемую по умолчанию функцию успешно выполненного обратного вызова.

Свойство Sys.Services AuthenticationService defaultUserContext

Получает или задает для службы используемый по умолчанию контекст пользователя.

Свойство Sys.Services AuthenticationService isLoggedIn

Возвращает состояние проверки подлинности текущего пользователя.

Свойство Sys.Services AuthenticationService path

Получает или задает путь для службы проверки подлинности.

Свойство Sys.Services AuthenticationService timeout

Получает или задает время ожидания для службы проверки подлинности.

Примечания

Класс AuthenticationService предоставляет скрипту доступ к проверке подлинности пользователя. Он вызывает методы службы проверки подлинности с помощью одной и той же инфраструктуры, используемой для вызова любого другого метода веб-службы.

Примечание

Встроенная служба проверки подлинности находится в предопределенном расположении на сервере.

Класс AuthenticationService является одноэлементным и поэтому содержит только один экземпляр с глобальной точкой доступа. Он всегда доступен для приложения и нет необходимости создавать его экземпляр.

Пример

Описание

В следующем примере показано, как использовать класс AuthenticationService, чтобы проверить, прошел ли пользователь проверку подлинности. Дополнительные сведения см. в разделе Использование проверки подлинности с помощью форм с Microsoft Ajax.

Код


// Define global variables.
var usernameEntry;
var passwordEntry;
var username;
var password;
var textLoggedIn;
var textNotLoggedIn;
var buttonLogin;  
var buttonLogout; 

function pageLoad()
{
    usernameEntry = $get("NameId");
    passwordEntry = $get("PwdId");
    username = $get("username");
    password = $get("password");
    textLoggedIn = $get("loggedin");
    textNotLoggedIn = $get("notloggedin");
    buttonLogin = $get("ButtonLogin");  
    buttonLogout = $get("ButtonLogout"); 
}



// This function sets and gets the default
// login completed callback function.
function SetDefaultLoginCompletedCallBack()
{
    // Set the default callback function.
    Sys.Services.AuthenticationService.set_defaultLoginCompletedCallback(OnLoginCompleted);

    // Get the default callback function.
    var callBack =     
        Sys.Services.AuthenticationService.get_defaultLoginCompletedCallback();
}

// This function sets and gets the default
// logout completed callback function.
function SetDefaultLogoutCompletedCallBack()
{
    // Set the default callback function.
    Sys.Services.AuthenticationService.set_defaultLogoutCompletedCallback(OnLogoutCompleted);

    // Get the default callback function.
    var callBack =     
        Sys.Services.AuthenticationService.get_defaultLogoutCompletedCallback();
}


// This function sets and gets the default
// failed callback function.
function SetDefaultFailedCallBack()
{
    // Set the default callback function.
    Sys.Services.AuthenticationService.set_defaultFailedCallback(OnFailed);

    // Get the default callback function.
    var callBack =     
        Sys.Services.AuthenticationService.get_defaultFailedCallback();  
}


// This function calls the login method of the
// authentication service to verify 
// the credentials entered by the user.
// If the credentials are authenticated, the
// authentication service issues a forms 
// authentication cookie. 
function OnClickLogin() 
{   

    // Set the default callback functions.
    SetDefaultLoginCompletedCallBack();
    SetDefaultLogoutCompletedCallBack();
    SetDefaultFailedCallBack();

    // Call the authetication service to authenticate
    // the credentials entered by the user.
    Sys.Services.AuthenticationService.login(username.value, 
        password.value, false,null,null,null,null,"User Context");
}

// This function calls the logout method of the
// authentication service to clear the forms 
// authentication cookie.
function OnClickLogout() 
{  
   // Clear the forms authentication cookie. 
   Sys.Services.AuthenticationService.logout(null, 
        null, null, null); 
} 



// This is the callback function called 
// if the authentication fails.      
function OnFailed(error, 
    userContext, methodName)
{           
    // Display feedback message.
    DisplayInformation("error:message = " + 
        error.get_message());
    DisplayInformation("error:timedOut = " + 
        error.get_timedOut());
    DisplayInformation("error:statusCode = " + 
        error.get_statusCode());            
}


// The callback function called 
// if the authentication completed successfully.
function OnLoginCompleted(validCredentials, 
    userContext, methodName)
{
    // GetPageElements();
    
    // Clear the user password.
    password.value = "";

    // On success there will be a forms 
    // authentication cookie in the browser.
    if (validCredentials == true) 
    {

        // Clear the user name.
        username.value = "";

        // Hide login fields.
        buttonLogin.style.visibility = "hidden";
        usernameEntry.style.visibility = "hidden";
        passwordEntry.style.visibility = "hidden";
        textNotLoggedIn.style.visibility = "hidden";  

        // Display logout fields.
        buttonLogout.style.visibility = "visible";
        textLoggedIn.style.visibility = "visible";

        // Clear the feedback area.
        DisplayInformation(""); 
    }
    else 
    {
        textLoggedIn.style.visibility = "hidden";
        textNotLoggedIn.style.visibility = "visible";
        DisplayInformation(
            "Login Credentials Invalid. Could not login"); 
    }
    
}

// This is the callback function called 
// if the user logged out successfully.
function OnLogoutCompleted(result) 
{
    // Display login fields.
    usernameEntry.style.visibility = "visible";
    passwordEntry.style.visibility = "visible";
    textNotLoggedIn.style.visibility = "visible";  
    buttonLogin.style.visibility = "visible";

    // Hide logout fields.
    buttonLogout.style.visibility = "hidden";
    textLoggedIn.style.visibility = "hidden";

}            

// This function displays feedback
// information for the user.    
function DisplayInformation(text)
{
    // var feedBack = 
    //    document.getElementById("FeedBackID").innerHTML;

    document.getElementById("FeedBackID").innerHTML = 
        "<br/>" + text;

    // Display authentication service information.

    var userLoggedIn =
        Sys.Services.AuthenticationService.get_isLoggedIn();
    
    var authServiceTimeout =       
        Sys.Services.AuthenticationService.get_timeout();

    var userLoggedInfo = 
        "<br/> User logged in:                 " + userLoggedIn;

    var timeOutInfo = 
        "<br/> Authentication service timeout: " + authServiceTimeout;

    document.getElementById("FeedBackID").innerHTML = 
        userLoggedInfo + timeOutInfo;

}

// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();


См. также

Основные понятия

Класс Sys.Services.ProfileService

Класс Sys.Net.WebServiceProxy

Использование проверки подлинности с помощью форм с Microsoft Ajax