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)

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

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