2011-11-28 71 views
0

我正在编写一个桌面WPF应用程序,它使用SQL CE作为其数据存储并通过Web服务同步到远程SQL Server数据库。桌面应用程序提供了与我编写的ASP.NET Web应用程序相同的功能,但在没有可用连接时为用户提供功能。我可以使用SQL CE在WPF桌面应用程序中提供成员资格功能吗?

SQL Server数据库还为Web版本的应用程序提供成员资格功能。

我的问题是这样的...如何在WPF应用程序处于“断开”模式时提供用户登录功能?我希望用户具有与通过Web应用程序登录时相同的登录功能。我知道如何同步necesarry aspnet_Membership表(用户,角色等),但是,如何为WPF创建成员资格提供程序?我一直无法找到例子。

(WPF应用程序不需要创建或删除用户,但编辑功能会很好......应用程序允许用户登录并且检查其与主数据库同步的密码,我不确定加密/解密是如何工作的)。

感谢您提供的任何建议

+1

成员身份已构建为ASP.NET功能。这里是他们在ASP.NET之外使用Membership的例子。 http://www.codeproject.com/Tips/94326/SQL-Express-Membership-API-Provider-Utility.aspx使用本地成员资格方法看到的风险现在是带有密码的表在本地计算机上,被黑客入侵。用户必须在本地机器上登录才能验证Windows主体。您最好将Windows登录映射到角色和组,以提供没有MembershipService的成员资格类型功能。 – Paparazzi

+0

感谢您的回复。也许这是最好的办法...使用用户的机器/域名登录并将其映射到成员资格信息(角色)......这需要做一些事情,但我仍然可以提供“编辑者”信息进行更改,然后同步到主数据库。感谢您的建议......我很担心每个用户的本地机器上都有每个人的登录信息(即使是加密的)。也许最好完全避免这种情况。 – rogdawg

+0

我把它作为一个答案。如果你使用它,请检查它。 – Paparazzi

回答

1

成员身份已构建为ASP.NET功能。我用本地成员资格方法看到的风险是现在那些带有密码的表在本地机器上,并且可能被黑客入侵。用户必须在本地机器上登录才能验证Windows主体。您最好将Windows登录映射到角色和组,以提供没有MembershipService的成员资格类型功能。您可以在.NET中遍历用户,角色和组,但速度很慢。直接破译成员SQL表并且建立一个查询来获得这些信息并不是很难,而且它更快。您甚至可以将您的MembershipProvider映射到IIS上的域,但不能使用TSQL来获取用户,角色和组。

相关问题