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
- Наследование
Примеры
В следующем примере кода показано, как использовать это свойство для программного задания расположения службы ролей.
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, возвращенный свойством static
Thread.CurrentPrincipal. Для приложений, настроенных для использования служб клиентских приложений, это свойство возвращает ClientRolePrincipal. Так как этот класс реализует интерфейс IPrincipal, вам не нужно явно ссылаться на него. Метод ClientRolePrincipal.IsInRole внутренне вызывает метод ClientRoleProvider.IsUserInRole.
Класс ClientRoleProvider — это поставщик членства только для чтения, который получает сведения о роли для прошедших проверку подлинности пользователей из службы ролей, указанной свойством ServiceUri. Значение свойства ServiceUri обычно извлекается из файла конфигурации приложения вместе с другими значениями конфигурации.
Текущий экземпляр ClientRoleProvider можно получить через свойство static
Roles.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) |