Прочитать на английском

Поделиться через


ClientFormsIdentity Класс

Определение

Представляет удостоверение пользователя, прошедшее проверку подлинности для служб клиентских приложений с помощью проверки подлинности форм.

C#
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
Наследование
ClientFormsIdentity
Реализации

Примеры

В следующем примере кода показано, как использовать этот класс для автоматического отзыва пользователя при выходе приложения из автономного состояния. В этом примере обработчик событий CheckedChanged обновляет состояние автономного режима в соответствии со значением флажка. Если пользователь задает приложению состояние в сети, обработчик событий пытается пересмотреть пользователя, вызвав метод RevalidateUser. Однако если сервер проверки подлинности недоступен, обработчик событий возвращает приложение в автономное состояние.

Примечание

Метод RevalidateUser предназначен только для удобства. Так как он не имеет возвращаемого значения, он не может указать, произошла ли повторная отмена. Повторная проверка может завершиться ошибкой, например, если учетные данные пользователя изменились на сервере. В этом случае может потребоваться включить код, который явно проверяет пользователей после сбоя вызова службы. Дополнительные сведения см. в разделе "Доступ к веб-параметрам" в пошаговом руководстве. Использование клиентских служб приложений.

C#
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;
        }
    }
}

Комментарии

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

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

Продукт Версии
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

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