如何在Windows桌面应用程序中使用表单身份验证对用户进

时间:2013-06-25 05:46:06

标签: c# winforms forms-authentication

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

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

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

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

PS:如果您使用WinForms应用程序,请通过ActiveDirectory身份验证进行登录。

答案 1 :(得分:1)

将FormsAuthentication与Windows应用程序一起使用毫无意义。您可以做的是使用MembershipMembershipUserRoles类。您需要做的就是在app.config中配置成员资格和角色提供程序。

FormsAuthentication实际上并未对您的用户进行身份验证。如果您在Authenticate上致电FormsAuthentication,您会看到它是过时的方法,而是使用Membership.ValidateUser

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