2013-11-03 23 views
1

我正在創建一個使用數據庫優先實體框架進行數據庫訪問的ASP.NET MVC 4應用程序。我有我自己的會員表,我實現了我自己的會員提供者和角色提供者。問題是我不知道如何使用它們。有沒有辦法覆蓋WebSecurity類或更改它的方法,因此它使用我的會員提供商?還是應該在沒有WebSecurity外觀的情況下直接使用Membership和Role提供程序?如何使用會員和角色提供者?

+0

你可能想看看這裏:http://stackoverflow.com/qu estions/15776640/how-can-i-customize-simple-membership-provider-to-work-with-my-own-database-asp –

回答

0

WebSecurity幫助程序類旨在與ExtendedMembershipProvider類一起使用(其中SimpleMembershipProvider是其中的基礎)。如果您基於您的提供商並且您的網站被配置爲使用基於ExtendedMembership的提供商,則推薦的方法是使用WebSecurity(儘管它只公開底層提供商接口能夠提供的一部分內容)

如果您的提供商基於在原始的.NET MembershipProvider上,並且您的站點進行了相應的配置,您將直接處理提供者:通常是成員和角色類。

本文提供了一個有用的概述,說明不同提供者之間的關係及其方式打算使用:http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

+0

謝謝,這真的爲我清除了一些東西。所以你只能按原樣使用WebSecurity,你不能改變它的方法,對吧?這個https://www.nuget.org/packages/CodeFirstMembershipProviderSharp/1.0.0是我到目前爲止使用的(只是對數據庫進行了調整),它實際上有一個WebSecurity類的實現......我無法弄清楚得到那個。 – DBWhite

+1

沒錯。 WebSecurity是一個靜態類,所以不能被繼承。它提供了與會員提供商交互的簡化方式。如果你想做更復雜的事情,可以直接與會員供應商合作,也可以按照WebSecurity的方式編寫自己的外觀,如果這樣做是有道理的。 –

+0

謝謝你,你一直很有幫助。 – DBWhite