我在 Asp.NET 中做了一些工作,我非常习惯于使用FormAuthentication进行用户身份验证
现在我正在开发一个桌面应用程序,我想在 Windows 窗体应用程序中拥有类似上面的东西,我想通过使用应用程序数据库或 xml 来创建和验证用户,就像我在 Asp.NET 中所做的一样。到目前为止,还没有任何方法可以像我想要的那样实现这一目标。
任何帮助都会很棒!
我在 Asp.NET 中做了一些工作,我非常习惯于使用FormAuthentication进行用户身份验证
现在我正在开发一个桌面应用程序,我想在 Windows 窗体应用程序中拥有类似上面的东西,我想通过使用应用程序数据库或 xml 来创建和验证用户,就像我在 Asp.NET 中所做的一样。到目前为止,还没有任何方法可以像我想要的那样实现这一目标。
任何帮助都会很棒!
Windows 桌面应用程序与 ASP.NET Web 应用程序完全不同。
您不能单独调用不同的表单。
(你可以破解应用程序,但如果你这样做,你也可以删除任何密码保护)
因此表单身份验证没有任何意义。
您可以创建一个登录窗口作为启动窗口,并根据数据库检查用户名和密码。
就是这样。
它是一个 Windows 应用程序,您不需要成员资格提供程序、表单 cookie 票证等,因为与 HTTP 不同,Windows 桌面应用程序不是无状态的。
PS:如果你做一个 WinForms 应用程序,请通过 ActiveDirectory 身份验证进行登录。
在 Windows 应用程序中使用 FormsAuthentication 毫无意义。您可以做的是使用Membership
,MembershipUser
和Roles
类。您需要做的就是在 app.config 中配置 Membership 和 Roles 提供程序。
FormsAuthentication
实际上并没有对您的用户进行身份验证。如果你打电话Authenticate
,FormsAuthentication
你会看到它是过时的方法,Membership.ValidateUser
而是使用它。
这些功能的一个缺点是它们是System.Web
命名空间的一部分,这意味着您必须在 Windows 应用程序中使用 Web 功能。但是,如果它可以完成工作并满足要求,那就去吧。