ClientFormsAuthenticationMembershipProvider Класс

Определение

Включает проверку подлинности форм с помощью служб клиентских приложений.

public class ClientFormsAuthenticationMembershipProvider : System.Web.Security.MembershipProvider
Наследование
ClientFormsAuthenticationMembershipProvider

Примеры

В следующем примере кода показано, как использовать этот метод для проверки пользователя с помощью реализации IClientFormsAuthenticationCredentialsProvider.

private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}

Комментарии

Службы клиентских приложений можно использовать для проверки пользователей с помощью проверки подлинности форм. Чтобы включить проверку подлинности форм, необходимо настроить приложение для использования класса ClientFormsAuthenticationMembershipProvider.

После настройки можно проверить пользователей, вызвав метод staticMembership.ValidateUser, который внутренне вызывает метод ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String).

Проверка подлинности форм требует, чтобы пользователь указал свои учетные данные с помощью элементов управления для входа, предоставляемых приложением. Вы можете получить учетные данные и передать их в метод Membership.ValidateUser. Вы также можете передать пустые строки или null для использования поставщика учетных данных. Поставщик учетных данных — это реализация IClientFormsAuthenticationCredentialsProvider, указанная в файле конфигурации приложения. Обычно вы реализуете метод IClientFormsAuthenticationCredentialsProvider.GetCredentials для отображения диалогового окна входа и возврата заполненного объекта ClientFormsAuthenticationCredentials. Использование поставщика учетных данных позволяет совместно использовать одно диалоговое окно входа между несколькими приложениями.

Метод ClientFormsAuthenticationMembershipProvider.ValidateUser проверяет подлинность пользователей через службу входа, указанную свойством ServiceUri. Значение свойства ServiceUri обычно извлекается из файла конфигурации приложения вместе с другими значениями конфигурации.

Если пользователь успешно прошел проверку подлинности, поставщик служб задает свойство staticThread.CurrentPrincipal для нового объекта ClientRolePrincipal, содержащего новый объект ClientFormsIdentity, содержащий сведения о пользователе. Если для приложения настроена ClientRoleProvider, можно использовать объект ClientRolePrincipal для получения сведений о роли пользователя из службы ролей.

Вы можете получить ссылку на текущий экземпляр ClientFormsAuthenticationMembershipProvider через свойство staticMembership.Provider. Вы можете использовать ссылку поставщика членства для вызова метода ClientFormsAuthenticationMembershipProvider.ValidateUser напрямую. Кроме того, вам потребуется ссылка на поставщик членства для вызова метода Logout, который недоступен в базовом классе MembershipProvider.

Нельзя использовать класс ClientFormsAuthenticationMembershipProvider для создания, удаления или изменения сведений о членстве. Чтобы создать, удалить или изменить пользователей, необходимо изменить конфигурацию службы входа на сервере.

Конструкторы

ClientFormsAuthenticationMembershipProvider()

Инициализирует новый экземпляр класса ClientFormsAuthenticationMembershipProvider.

Свойства

ApplicationName

Это свойство не используется этим классом.

Description

Получает краткое понятное описание, подходящее для отображения в средствах администрирования или других пользовательских интерфейсах (UIs).

(Унаследовано от ProviderBase)
EnablePasswordReset

Это свойство не используется этим классом.

EnablePasswordRetrieval

Это свойство не используется этим классом.

MaxInvalidPasswordAttempts

Это свойство не используется этим классом.

MinRequiredNonAlphanumericCharacters

Это свойство не используется этим классом.

MinRequiredPasswordLength

Это свойство не используется этим классом.

Name

Возвращает понятное имя, используемое для ссылки на поставщика во время настройки.

(Унаследовано от ProviderBase)
PasswordAttemptWindow

Это свойство не используется этим классом.

PasswordFormat

Это свойство не используется этим классом.

PasswordStrengthRegularExpression

Это свойство не используется этим классом.

RequiresQuestionAndAnswer

Это свойство не используется этим классом.

RequiresUniqueEmail

Это свойство не используется этим классом.

ServiceUri

Возвращает или задает универсальный код ресурса (URI) службы проверки подлинности.

Методы

ChangePassword(String, String, String)

Этот метод не используется этим классом.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Этот метод не используется этим классом.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Этот метод не используется этим классом.

DecryptPassword(Byte[])

Расшифровывает зашифрованный пароль.

(Унаследовано от MembershipProvider)
DeleteUser(String, Boolean)

Этот метод не используется этим классом.

EncryptPassword(Byte[])

Шифрует пароль.

(Унаследовано от MembershipProvider)
EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Шифрует указанный пароль с помощью указанного режима совместимости паролей.

(Унаследовано от MembershipProvider)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Этот метод не используется этим классом.

FindUsersByName(String, Int32, Int32, Int32)

Этот метод не используется этим классом.

GetAllUsers(Int32, Int32, Int32)

Этот метод не используется этим классом.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetNumberOfUsersOnline()

Этот метод не используется этим классом.

GetPassword(String, String)

Этот метод не используется этим классом.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetUser(Object, Boolean)

Этот метод не используется этим классом.

GetUser(String, Boolean)

Этот метод не используется этим классом.

GetUserNameByEmail(String)

Этот метод не используется этим классом.

Initialize(String, NameValueCollection)

Инициализирует поставщика.

Logout()

Выходит из системы пользователя.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Вызывает событие ValidatingPassword, если был определен обработчик событий.

(Унаследовано от MembershipProvider)
ResetPassword(String, String)

Этот метод не используется этим классом.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnlockUser(String)

Этот метод не используется этим классом.

UpdateUser(MembershipUser)

Этот метод не используется этим классом.

ValidateUser(String, String)

Выполняет проверку подлинности пользователя с помощью указанного имени пользователя и пароля.

ValidateUser(String, String, Boolean)

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

ValidateUser(String, String, String)

Проверяет подлинность пользователя в указанном URI службы с помощью указанного имени пользователя и пароля.

События

UserValidated

Происходит при проверке пользователя.

ValidatingPassword

Происходит при создании пользователя, изменении пароля или сбросе пароля.

(Унаследовано от MembershipProvider)

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

Продукт Версии
.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

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