ClientFormsAuthenticationMembershipProvider 类

定义

通过客户端应用程序服务实现窗体身份验证。

public ref class ClientFormsAuthenticationMembershipProvider : System::Web::Security::MembershipProvider
public class ClientFormsAuthenticationMembershipProvider : System.Web.Security.MembershipProvider
type ClientFormsAuthenticationMembershipProvider = class
    inherit MembershipProvider
Public Class ClientFormsAuthenticationMembershipProvider
Inherits 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;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            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 ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

注解

可以使用客户端应用程序服务通过表单身份验证来验证用户。 若要启用表单身份验证,请将应用程序配置为使用 ClientFormsAuthenticationMembershipProvider 类。

配置后,可以通过调用 staticMembership.ValidateUser 方法来验证用户,该方法在内部调用 ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) 方法。

Forms 身份验证要求用户通过应用程序提供的登录控件指定其凭据。 可以检索凭据并将其传递给 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

获取一条简短的易懂描述,它适合在管理工具或其他用户界面 (UI) 中显示。

(继承自 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)

适用于

另请参阅