.Web和winforms的.Net身份validation

我有一个为客户端构建的ASP.NET Web应用程序,它使用默认的ASP.NET表单身份validation。 他们现在正在请求一个与Web应用程序“兼容”的桌面(WinForms)应用程序。 我创建了web服务,以便从Web应用程序访问他们想要的数据并将其放入桌面应用程序中。 这很好..但是需要基于已经存储在asp.net应用程序中的角色具有相同级别的安全性和数据访问权限。

所以现在是时候在两个应用程序之间进行身份validation了。 我希望通过在用户首次打开WinForms应用程序时提示登录以及可能是Web服务的调用来对用户进行身份validation,获取用户角色和配置文件来利用asp.net身份validation。

我确信这已经完成或者询问过……我只是没有在SO中找到问题/答案。

第一:使用WCF进行Web服务。 它比旧的ASMX服务更好的框架。

第二:WCF可以使用ASP.NET应用程序使用的相同RoleProvider和MembershipProvider类。 这是一个简单的配置开关。 同时使用它们,您的Web服务需要与Web应用程序相同的凭据。

而且……就是这样。

有关详细信息,请参阅:

实现角色提供者

实施会员提供者

如何:使用ASP.NET成员资格提供程序

添加到Randolpho的答案:用户可能喜欢的另一个function是保存凭据而不是每次启动应用程序时输入凭据。 您可以使用凭据管理API进行此操作,如本答案中所述 。