0

我在 Asp.NET 中做了一些工作,我非常习惯于使用FormAuthentication进行用户身份验证

现在我正在开发一个桌面应用程序,我想在 Windows 窗体应用程序中拥有类似上面的东西,我想通过使用应用程序数据库或 xml 来创建和验证用户,就像我在 Asp.NET 中所做的一样。到目前为止,还没有任何方法可以像我想要的那样实现这一目标。

任何帮助都会很棒!

4

2 回答 2

1

Windows 桌面应用程序与 ASP.NET Web 应用程序完全不同。
您不能单独调用不同的表单。
(你可以破解应用程序,但如果你这样做,你也可以删除任何密码保护)
因此表单身份验证没有任何意义。
您可以创建一个登录窗口作为启动窗口,并根据数据库检查用户名和密码。
就是这样。
它是一个 Windows 应用程序,您不需要成员资格提供程序、表单 cookie 票证等,因为与 HTTP 不同,Windows 桌面应用程序不是无状态的。

PS:如果你做一个 WinForms 应用程序,请通过 ActiveDirectory 身份验证进行登录。

于 2013-06-25T06:35:15.687 回答
1

在 Windows 应用程序中使用 FormsAuthentication 毫无意义。您可以做的是使用Membership,MembershipUserRoles类。您需要做的就是在 app.config 中配置 Membership 和 Roles 提供程序。

FormsAuthentication实际上并没有对您的用户进行身份验证。如果你打电话AuthenticateFormsAuthentication你会看到它是过时的方法,Membership.ValidateUser而是使用它。

这些功能的一个缺点是它们是System.Web命名空间的一部分,这意味着您必须在 Windows 应用程序中使用 Web 功能。但是,如果它可以完成工作并满足要求,那就去吧。

于 2013-06-25T06:41:22.950 回答