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 класса . После настройки можно определить, находится ли пользователь, прошедший проверку подлинности, в определенной роли, вызвав IsInRole метод объекта , IPrincipal возвращаемого свойством static
Thread.CurrentPrincipal . Для приложений, настроенных на использование служб клиентских приложений, это свойство возвращает класс ClientRolePrincipal. Поскольку этот класс реализует интерфейс IPrincipal , необязательно явно ссылаться на него. Метод ClientRolePrincipal.IsInRole внутренне вызывает ClientRoleProvider.IsUserInRole метод .
Класс ClientRoleProvider является поставщиком членства в ролях только для чтения, который получает сведения о ролях для пользователей, прошедших проверку подлинности, из службы ролей, указанной свойством ServiceUri . Значение ServiceUri свойства обычно извлекается из файла конфигурации приложения вместе с другими значениями конфигурации.
Текущий ClientRoleProvider экземпляр можно получить с помощью static
Roles.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) |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по