2013-01-31 115 views
4

我試圖在.Net桌面應用程序中實現WebMatrix.WebData.WebSecurity()方法,應用程序將連接到服務器上的數據庫以及MVC4項目,所以我想在兩者上都使用當前的提供程序應用程序來驗證用戶。使用WebSecurity和.Net winForms應用程序

我在想,如果這是可能的,因爲我得到異常:

{System.InvalidOperationException: To call this method, the 
"Membership.Provider" property must be an instance of 
"ExtendedMembershipProvider". 
at WebMatrix.WebData.WebSecurity.VerifyProvider() 

我抄我的MVC4應用Web.Config到我的app.config文件,但我似乎仍不能得到它的工作。任何方向,將不勝感激

編輯 這是值得做的[InitializeSimpleMembership]屬性,該屬性上的MVC4控制器坐。這對WebSecurity執行一些初始化。任何人都可以看到如何初始化此代碼,而不是它的屬性?

再次感謝

感謝

回答

6

我想實現在 的WebMatrix.WebData.WebSecurity()方法的淨桌面應用程序

忘掉它。成員資格提供程序與ASP.NET上下文緊密耦合,並且不打算用於桌面應用程序。它取決於像HttpContext,cookies,......這些在桌面應用程序中不存在的東西。

你可以做的是定義一個可以直接在桌面應用程序中使用的可重用服務層,然後實現一個ASP.NET成員資格提供程序調用此服務層的方法,從而重用相同的功能兩者之間。

+0

OK我想要做的就是嘗試使用Web數據庫中存在的用戶的用戶名和密碼登錄。你知道如何檢查登錄是否有效,而不使用這個WebSecurity.Login()? – CR41G14

+0

您可以簡單地使用實體框架或純ADO.NET來查詢關係數據庫,並驗證給定表中的用戶名和密碼是否正確。 –

+0

密碼在websecurity方法中如何散列? – CR41G14