2010-09-13 36 views
0

有了這個問題,我主要是從那些已經在他們自己的數據庫中實現了開箱即用ASP.NET成員的人那裏尋找答案 - 我已經建立了表在我的數據庫內部,並且據我所見,它們大部分包含我需要的東西,但不包括所有東西。我將擁有用戶所屬企業(公司)的概念,因此我必須將aspnet_Users與我的Firms表(每個用戶將只是一家公司的成員)關聯起來。對ASP.NET MVC應用程序成員的建議

如果可能的話,請提供一些指導方針您是如何做到的以及如果我將來需要修改表格設計,我可能會遇到什麼問題。最好我會使用默認的會員提供商。

我很難決定從頭開始還是使用ASP.NET已經提供的內容。

回答

1

由於可能會在未來版本中引入更改,因此我決定不使用ASP.NET成員資格提供程序及其默認表,所以最終我最終使用OmidID提供的this custom Entity Framework提供程序,儘管我不得不對其進行微調。但是現在我可以說我們有一個相當全面的基於實體框架的成員資格提供者,我們可以很容易地維護並且依賴於SQL Server中的ASP.NET成員資格表。

0

我會將ASP.NET成員資格視爲單獨的服務。只需按原樣使用它並在其上添加任何附加功能即可。

在這種情況下,只需創建一個表將用戶鏈接到公司,但不會更改ASP.NET表。如果您需要存儲關於用戶的任何附加信息,請將其放入與ASP.NET成員資格用戶表關聯的另一個表中。

更新:我已經開始使用這個ASP.NET MVC Area來管理用戶和角色https://github.com/TroyGoode/MembershipStarterKit。它配備了所有必要的型號,視圖和控制器,並且完全通過了單元測試。沒有花費一個多小時才能將它集成到我的網站並啓動並運行。

+0

這個人類型比我想象的要快。 。 。 – 2010-09-13 14:06:01

1

我建議您需要使用基於表格的配置文件提供程序實現,如Scott Guthrie博客所述的this one。它比開箱即用的配置文件提供程序好得多,因爲它允許您爲配置文件信息定義自己的表。在你的情況下,你會得到一個表,其中包含每個用戶的Row和一個FirmId以及任何你喜歡的東西,比如暱稱,社會安全號碼等等。

它可以與默認的成員資格提供程序一起使用,因此您不必對其進行任何更改。該示例中有兩個實現,一個是基於存儲過程的實例,另一個是基於表格的實現。我更喜歡第二個,但它們都很容易使用。

默認配置文件提供程序證明有點垃圾,因爲它將所有用戶的信息存儲在單個字段中。我建議的提供商以非常有效的方式解決了這個問題。

+0

下載基於表格的配置文件提供程序後,我發現代碼相當難看,難以理解,因此我決定不使用它。我將採取@Kieranmaine的方法。 – mare 2010-09-13 16:32:25

相關問題