[转]使用客户端应用程序服务来实现用户登录
原文链接:https://msdn.microsoft.com/zh-cn/library/bb384313(v=vs.100).aspx
如何:使用客户端应用程序服务来实现用户登录
通过现有的 Microsoft Ajax 配置文件服务可以使用客户端应用程序服务来验证用户。 有关如何设置 Microsoft Ajax 配置文件服务的信息,请参见通过 Microsoft Ajax 使用 Forms 身份验证。
以下过程描述了在将应用程序配置为使用一个客户端身份验证服务提供程序时如何通过身份验证服务验证用户。 有关更多信息,请参见如何:配置客户端应用程序服务。
通常通过 static Membership.ValidateUser 方法执行所有验证。 此方法通过配置的身份验证提供程序管理与身份验证服务的交互。 有关更多信息,请参见客户端应用程序服务概述。
Forms 身份验证过程要求访问正在运行的 Microsoft Ajax 身份验证服务。 有关在客户端应用程序服务功能的端到端测试的指南,请参见演练:使用客户端应用程序服务。
使用成员资格凭据提供程序对用户进行 Forms 身份验证
-
实现 IClientFormsAuthenticationCredentialsProvider 接口。 下面的代码示例演示从System.Windows.Forms.Form 派生的登录对话框类的IClientFormsAuthenticationCredentialsProvider.GetCredentials 实现。 此对话框具有用于输入用户名和密码的文本框和“记住我”复选框。 当客户端身份验证提供程序调用 GetCredentials 方法时,将显示该窗体。 当用户在登录对话框中填写信息并单击“确认”时,将在一个新的 ClientFormsAuthenticationCredentials 对象中返回指定值。
-
调用 static Membership.ValidateUser 方法,并传入空字符串作为参数值。 当指定空字符串时,此方法将在内部调用为应用程序配置的凭据提供程序的 GetCredentials 方法。 下面的代码示例调用此方法,以限制对整个 Windows 窗体应用程序的访问。 可以将此代码添加到 Form.Load 处理程序。
在不使用成员资格凭据提供程序的情况下对用户进行 Forms 身份验证
-
调用 static Membership.ValidateUser 方法,并传入从用户获得的用户名和密码值。
使用 Windows 身份验证验证用户
-
调用 static Membership.ValidateUser 方法,并传递空字符串作为参数。 此方法调用将始终返回 true,并将 Cookie 添加到包含 Windows 标识的用户的 Cookie 缓存中。
本主题中的代码示例演示在 Windows 客户端应用程序中进行身份验证的最简单的用法。 但是,当对客户端应用程序服务和 Forms 身份验证调用 static Membership.ValidateUser 方法时,代码可能引发 WebException。 这表示身份验证服务不可用。 有关如何处理此异常的示例,请参见演练:使用客户端应用程序服务。
通过现有的 Microsoft Ajax 配置文件服务可以使用客户端应用程序服务来验证用户。 有关如何设置 Microsoft Ajax 配置文件服务的信息,请参见通过 Microsoft Ajax 使用 Forms 身份验证。
以下过程描述了在将应用程序配置为使用一个客户端身份验证服务提供程序时如何通过身份验证服务验证用户。 有关更多信息,请参见如何:配置客户端应用程序服务。
通常通过 static Membership.ValidateUser 方法执行所有验证。 此方法通过配置的身份验证提供程序管理与身份验证服务的交互。 有关更多信息,请参见客户端应用程序服务概述。
Forms 身份验证过程要求访问正在运行的 Microsoft Ajax 身份验证服务。 有关在客户端应用程序服务功能的端到端测试的指南,请参见演练:使用客户端应用程序服务。
使用成员资格凭据提供程序对用户进行 Forms 身份验证
-
实现 IClientFormsAuthenticationCredentialsProvider 接口。 下面的代码示例演示从System.Windows.Forms.Form 派生的登录对话框类的IClientFormsAuthenticationCredentialsProvider.GetCredentials 实现。 此对话框具有用于输入用户名和密码的文本框和“记住我”复选框。 当客户端身份验证提供程序调用 GetCredentials 方法时,将显示该窗体。 当用户在登录对话框中填写信息并单击“确认”时,将在一个新的 ClientFormsAuthenticationCredentials 对象中返回指定值。
-
调用 static Membership.ValidateUser 方法,并传入空字符串作为参数值。 当指定空字符串时,此方法将在内部调用为应用程序配置的凭据提供程序的 GetCredentials 方法。 下面的代码示例调用此方法,以限制对整个 Windows 窗体应用程序的访问。 可以将此代码添加到 Form.Load 处理程序。
在不使用成员资格凭据提供程序的情况下对用户进行 Forms 身份验证
-
调用 static Membership.ValidateUser 方法,并传入从用户获得的用户名和密码值。
使用 Windows 身份验证验证用户
-
调用 static Membership.ValidateUser 方法,并传递空字符串作为参数。 此方法调用将始终返回 true,并将 Cookie 添加到包含 Windows 标识的用户的 Cookie 缓存中。
本主题中的代码示例演示在 Windows 客户端应用程序中进行身份验证的最简单的用法。 但是,当对客户端应用程序服务和 Forms 身份验证调用 static Membership.ValidateUser 方法时,代码可能引发 WebException。 这表示身份验证服务不可用。 有关如何处理此异常的示例,请参见演练:使用客户端应用程序服务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!