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
Комментарии
Функция служб клиентских приложений использует этот класс для представления пользователя, прошедшего проверку подлинности. При настройке приложения для использования клиентских служб приложений и проверки подлинности форм можно пройти проверку подлинности пользователя, вызвав staticMembership.ValidateUser метод. После проверки подлинности можно получить ссылку на текущий ClientFormsIdentity экземпляр с помощью Identity свойства, полученного IPrincipal через staticThread.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) |