ClientFormsIdentity Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет идентификацию пользователя, прошедшего проверку подлинности для служб клиентского приложения путем проверки подлинности форм.
public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
interface IIdentity
interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
- Наследование
-
ClientFormsIdentity
- Реализации
Примеры
В следующем примере кода показано, как использовать этот класс для автоматической повторной проверки пользователя, когда приложение выходит из автономного состояния. В этом примере CheckedChanged обработчик событий обновляет состояние автономного режима в соответствии со значением флажка. Если пользователь устанавливает для приложения состояние "в сети", обработчик событий пытается повторно проверить пользователя, вызвав RevalidateUser метод . Однако если сервер проверки подлинности недоступен, обработчик событий возвращает приложение в автономное состояние.
Примечание
Метод RevalidateUser предназначен исключительно для удобства. Поскольку у него отсутствуют возвращаемые значения, с его помощью нельзя выявлять ошибки при повторных проверках подлинности. Ошибка проверки подлинности может возникнуть, например, при изменении учетных данных пользователя на сервере. В этом случае вы можете использовать код, с помощью которого после ошибок вызова служб будет выполняться явная проверка подлинности пользователей. Дополнительные сведения см. в разделе Доступ к веб-параметрам статьи Пошаговое руководство. Использование служб клиентских приложений.
private void workOfflineCheckBox_CheckedChanged(
object sender, EventArgs e)
{
ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
if (!ConnectivityStatus.IsOffline)
{
try
{
// Silently re-validate the user.
((ClientFormsIdentity)
System.Threading.Thread.CurrentPrincipal.Identity)
.RevalidateUser();
// If any settings have been changed locally, save the new
// new values to the Web settings service.
SaveSettings();
// If any settings have not been changed locally, check
// the Web settings service for updates.
Properties.Settings.Default.Reload();
}
catch (System.Net.WebException)
{
MessageBox.Show(
"Unable to access the authentication service. " +
Environment.NewLine + "Staying in offline mode.",
"Warning", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
workOfflineCheckBox.Checked = true;
}
}
}
Private Sub workOfflineCheckBox_CheckedChanged( _
ByVal sender As Object, ByVal e As EventArgs) _
Handles workOfflineCheckBox.CheckedChanged
ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
If Not ConnectivityStatus.IsOffline Then
Try
' Silently re-validate the user.
CType(System.Threading.Thread.CurrentPrincipal.Identity, _
ClientFormsIdentity).RevalidateUser()
' If any settings have been changed locally, save the new
' new values to the Web settings service.
SaveSettings()
' If any settings have not been changed locally, check
' the Web settings service for updates.
My.Settings.Reload()
Catch ex As System.Net.WebException
MessageBox.Show( _
"Unable to access the authentication service. " & _
Environment.NewLine + "Staying in offline mode.", _
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
workOfflineCheckBox.Checked = True
End Try
End If
End Sub
Комментарии
Функция служб клиентских приложений использует этот класс для представления пользователя, прошедшего проверку подлинности. При настройке приложения для использования клиентских служб приложений и проверки подлинности с помощью форм вы можете проверить подлинность пользователя, вызвав static
Membership.ValidateUser метод . После проверки подлинности можно получить ссылку на текущий ClientFormsIdentity экземпляр с помощью Identity свойства объекта , IPrincipal полученного с помощью static
Thread.CurrentPrincipal свойства . Дополнительные сведения см. в разделе Службы клиентских приложений.
Как правило, доступ к объекту ClientFormsIdentity выполняется как IIdentity ссылка, чтобы избежать прямой зависимости от этого класса. Вы можете определить, прошел ли пользователь проверку подлинности, проверив IIdentity.IsAuthenticated свойство удостоверения. Однако пользователь может пройти проверку подлинности для Windows, но не для служб клиентских приложений. Чтобы определить, прошел ли пользователь проверку подлинности для служб клиентских приложений, необходимо также убедиться, что IIdentity.AuthenticationType свойство имеет значение "ClientForms".
Для вызова RevalidateUser метода, который не определен интерфейсом, необходимо использовать явную ClientFormsIdentity ссылкуIIdentity.
Конструкторы
ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
Инициализирует новый экземпляр класса ClientFormsIdentity. |
Свойства
AuthenticationCookies |
Возвращает набор файлов Cookie, предоставленных службой проверки подлинности. |
AuthenticationType |
Возвращает тип проверки подлинности, который используется для проверки подлинности пользователя. |
IsAuthenticated |
Возвращает значение, позволяющее определить, прошел ли пользователь проверку подлинности. |
Name |
Возвращает имя пользователя. |
Provider |
Возвращает поставщика участия, используемого для проверки подлинности пользователя. |
Методы
Dispose() |
Освобождает все ресурсы, занятые модулем ClientFormsIdentity. |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом ClientFormsIdentity, а при необходимости освобождает также управляемые ресурсы. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RevalidateUser() |
Выполняет проверку подлинности пользователя без уведомления, используя кэшированные учетные данные. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по