ClientRoleProvider Класс

Определение

Возвращает для приложений Windows сведения о ролях, предоставленные службой ролей Microsoft Ajax.

public ref class ClientRoleProvider : System::Web::Security::RoleProvider
public class ClientRoleProvider : System.Web.Security.RoleProvider
type ClientRoleProvider = class
    inherit RoleProvider
Public Class ClientRoleProvider
Inherits RoleProvider
Наследование
ClientRoleProvider

Примеры

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

private void SetRolesServiceLocation()
{
    ((ClientRoleProvider)System.Web.Security.Roles.Provider).ServiceUri = 
        "http://localhost:55555/AppServices/Role_JSON_AppService.axd";
}
Private Sub SetRolesServiceLocation()
    CType(System.Web.Security.Roles.Provider,  _
        ClientRoleProvider).ServiceUri = _
        "http://localhost:55555/AppServices/Role_JSON_AppService.axd"
End Sub

Комментарии

Службы клиентских приложений можно использовать для получения сведений о ролях из существующей службы ролей, настроив приложение для использования ClientRoleProvider класса . После настройки можно определить, находится ли пользователь, прошедший проверку подлинности, в определенной роли, вызвав IsInRole метод объекта , IPrincipal возвращаемого свойством staticThread.CurrentPrincipal . Для приложений, настроенных на использование служб клиентских приложений, это свойство возвращает класс ClientRolePrincipal. Поскольку этот класс реализует интерфейс IPrincipal , необязательно явно ссылаться на него. Метод ClientRolePrincipal.IsInRole внутренне вызывает ClientRoleProvider.IsUserInRole метод .

Класс ClientRoleProvider является поставщиком членства в ролях только для чтения, который получает сведения о ролях для пользователей, прошедших проверку подлинности, из службы ролей, указанной свойством ServiceUri . Значение ServiceUri свойства обычно извлекается из файла конфигурации приложения вместе с другими значениями конфигурации.

Текущий ClientRoleProvider экземпляр можно получить с помощью staticRoles.Provider свойства .

Класс ClientRoleProvider поддерживает только методы GetRolesForUser и IsUserInRole абстрактного RoleProvider класса. При вызове одного из этих методов для конкретного пользователя поставщик услуг сначала проверяет локальный кэш данных на наличие сведений о роли. Если кэш не содержит сведений о роли или срок действия кэша истек, поставщик служб извлекает сведения о роли из службы ролей и добавляет их в кэш.

Вы можете указать период ожидания для кэша ролей при настройке служб клиентских приложений. Чтобы принудить GetRolesForUser метод получать данные роли из службы, а не из локального кэша ResetCache , сначала вызовите метод .

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

Конструкторы

ClientRoleProvider()

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

Свойства

ApplicationName

Это свойство не используется данным классом.

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).

(Унаследовано от ProviderBase)
Name

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

(Унаследовано от ProviderBase)
ServiceUri

Возвращает или задает универсальный код ресурса (URI) службы ролей.

Методы

AddUsersToRoles(String[], String[])

Этот метод не используется данным классом.

CreateRole(String)

Этот метод не используется данным классом.

DeleteRole(String, Boolean)

Этот метод не используется данным классом.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindUsersInRole(String, String)

Этот метод не используется данным классом.

GetAllRoles()

Этот метод не используется данным классом.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRolesForUser(String)

Возвращает имена ролей, к которым принадлежит заданный пользователь.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetUsersInRole(String)

Этот метод не используется данным классом.

Initialize(String, NameValueCollection)

Инициализирует этот поставщик.

IsUserInRole(String, String)

Возвращает значение, позволяющее определить, может ли заданный пользователь выполнять указанную роль.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RemoveUsersFromRoles(String[], String[])

Этот метод не используется данным классом.

ResetCache()

Очищает кэшированные данные о ролях и сбрасывает период времени ожидания кэша.

RoleExists(String)

Этот метод не используется данным классом.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел