Класс Sys.Services.RoleService

Обновлен: Ноябрь 2007

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

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

Наследует от:Sys.Net.WebServiceProxy

Члены

Имя

Описание

Поле Sys.Services.RoleService DefaultWebServicePath

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

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

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

Метод Sys.Services RoleService load

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

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

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

Свойство Sys.Services RoleService defaultLoadCompletedCallback

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

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

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

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

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

Свойство Sys.Services RoleService IsUserinRole

Проверяет, присвоена ли текущему пользователю, прошедшему проверку подлинности, указанная роль.

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

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

Свойство Sys.Services RoleService roles

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

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

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

Примечания

Класс RoleService предоставляет доступ сценария к сведениям о ролях текущего пользователя, прошедшего проверку подлинности. Класс вызывает методы службы роли посредством той же инфраструктуры, которая используется для вызова методов других веб-служб. Веб-служба роли реализуется как класс с единственным экземпляром (singleton-класс). Он всегда доступен для приложения через класс прокси RoleService, и нет необходимости создавать его экземпляр.

Пример

Описание

В следующем примере показано, как использовать класс RoleService для получения сведений о ролях текущего пользователя, прошедшего проверку подлинности. Дополнительные сведения см. в разделе Использование информации ролей с помощью ASP.NET AJAX.

Код

var roleProxy;
var roles;

// This function creates the role proxy and 
// sets its default callback functions.
function pageLoad()
{
    // Create role service proxy.
    roleProxy = Sys.Services.RoleService;

    // Set the default failed callback function.
    DefaultFailedCallBack();

    // Set the default load completed callback function.
    DefaultLoadCompletedCallBack()

}

// This function sets and gets the role service
// default failed callback function.
function DefaultFailedCallBack()
{
     // Set default failed callback function.
    roleProxy.set_defaultFailedCallback(FailedCallback);

    // Get the default callback function. 
    var failedCallBack =     
        roleProxy.get_defaultFailedCallback();

    alert(failedCallBack); 
}

// This function sets and gets the role service
// default load completed callback function.
function DefaultLoadCompletedCallBack()
{
    // Set the default callback function.
    roleProxy.set_defaultLoadCompletedCallback(LoadCompletedCallback);

    // Get the default callback function. 
    var loadCompletedCallBack =     
        roleProxy.get_defaultLoadCompletedCallback();

    alert(loadCompletedCallBack);
}

// This function checks if the currently
// authenticated user belongs to the
// passed role. 
function UserIsInRole(role) 
{
    DisplayInformation("");
    var isUserInRole = roleProxy.isUserInRole(role);
    DisplayInformation("The user is in the " + role + 
        " role: " + isUserInRole);   
}

// This function gets the role service path.
function GetRoleServicePath()
{
    // Get the role service path.
    var roleServicePath = 
        Sys.Services.RoleService.get_path();
    if (roleServicePath == "")
    {
        DisplayInformation(
            "The role service path is the default value.");
    }
}

// This function gets the roles of the
// currently authenticated user. 
function ReadUserRoles() 
{
    // Clear the feedback output.
    DisplayInformation("");

    // You must load the user's roles 
    // first before you can use them.
    roleProxy.load();

    // Read the user's roles. 
    roles = roleProxy.get_roles();

}

// This function gets the role service timeout.
function GetRoleServiceTimeout()
{
    // Get the role service path.
    var roleServiceTimeout = 
        Sys.Services.RoleService.get_timeout();

    DisplayInformation(
            "Role service timeout: " + roleServiceTimeout);

}


// This is the callback function
// called if the role service load function
// completed.
function LoadCompletedCallback(roles) 
{  
    // Read the user's roles loaded
    // before.
    roles.sort();
    for(var i = 0; i < roles.length; i++) 
    {
        var roleInfo = "Role: " + roles[i];
        DisplayInformation(roleInfo);
    }       
}

// This is the callback function
// called if the role service fails.
function FailedCallback(error) 
{
    DisplayInformation("Error: " + error.get_message());   
}

// This function displays user's 
// feedback information.
function DisplayInformation(text)
{
    document.getElementById('placeHolder').innerHTML = 
    "<br/>"+ text;
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

См. также

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

Класс Sys.Services.AuthenticationService

Класс Sys.Services.ProfileService

Использование информации ролей с помощью ASP.NET AJAX