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 类。

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

表单身份验证要求用户通过应用程序提供的登录控件指定其凭据。 可以检索凭据并将其传递给 Membership.ValidateUser 方法。 还可以传入空字符串或 null 以使用凭据提供程序。 凭据提供程序是应用程序配置文件中指定的 IClientFormsAuthenticationCredentialsProvider 实现。 通常实现 IClientFormsAuthenticationCredentialsProvider.GetCredentials 方法以显示登录对话框并返回填充 ClientFormsAuthenticationCredentials 对象。 使用凭据提供程序可以在多个应用程序之间共享单个登录对话框。

ClientFormsAuthenticationMembershipProvider.ValidateUser 方法通过 ServiceUri 属性指示的登录服务对用户进行身份验证。 ServiceUri 属性的值通常从应用程序配置文件和其他配置值检索。

如果用户成功进行身份验证,则服务提供商会将 staticThread.CurrentPrincipal 属性设置为一个新的 ClientRolePrincipal 对象,该对象包含包含用户信息的新 ClientFormsIdentity 对象。 如果为应用程序配置了 ClientRoleProvider,则可以使用 ClientRolePrincipal 对象从角色服务中检索用户角色信息。

可以通过 staticMembership.Provider 属性检索对当前 ClientFormsAuthenticationMembershipProvider 实例的引用。 可以使用成员资格提供程序引用直接调用 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)

适用于

另请参阅