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


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. После настройки можно определить, находится ли прошедший проверку подлинности пользователь в определенной роли, вызвав метод IsInRoleIPrincipal, возвращенный свойством staticThread.CurrentPrincipal. Для приложений, настроенных для использования служб клиентских приложений, это свойство возвращает ClientRolePrincipal. Так как этот класс реализует интерфейс IPrincipal, вам не нужно явно ссылаться на него. Метод ClientRolePrincipal.IsInRole внутренне вызывает метод ClientRoleProvider.IsUserInRole.

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

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

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

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

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

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

ClientRoleProvider()

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

Свойства

ApplicationName

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

Description

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

(Унаследовано от 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)

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

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