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