4

我剛開始ASP.NET MVC的新項目,這將是第一個實際使用此技術的項目。當我使用Visual Studio 2010創建了我的新項目時,它爲我的sql服務器創建了一堆帶有「aspnet_」前綴的表。其中一部分涉及內置的用戶帳戶和權限支持。從ASP.NET MVC採用「aspnet_ ...」sql表格

現在,我想保留一些關於我的用戶的特定信息。我的問題是「改變這個aspnet_表的結構,以滿足我對用戶帳戶信息的需求是否是一個好的做法?」。

正如我想的答案是「否」 (爲什麼?),我打算創建我自己的「用戶」表。從aspnet_Users表和我自己的自定義用戶表中連接記錄的好方法是什麼?我想要的關係是1:1和數據庫中的設計要儘可能透明我的C#代碼(如果它是重要的我使用LINQ到SQL)。另外,我不想將aspnet_表中的用戶名和密碼複製到我的表中並維護數據。

我正在考慮使用視圖來加入它們。這是一個好主意嗎?

在此先感謝!

編輯:從答案,我看到我可能不夠清楚,我想要的。問題不在於如何使用默認的asp.net提供程序,而是如何採用它,滿足我的需求。

+0

查看標準配置文件提供程序是否適合您。否則,最好創建自己的表並使用用戶名/ ID作爲關係的關鍵字。 – AxelEckenberger 2010-02-23 00:08:57

+0

什麼是-1?爲什麼人們在不解釋原因的情況下保持低調。 OK可能是有原因的,但沒有解釋就沒用。 – anthares 2010-02-23 19:08:54

回答

1

如果您選擇爲您的站點使用Membership API,則此link包含有關如何向用戶添加額外信息的信息。

最近我遇到了同樣的情況,最終拋棄了會員功能,並與DotNetOpenAuth庫一起推出了我自己的數據庫解決方案。

+0

感謝您的鏈接,這正是我所需要的 – anthares 2010-02-24 15:13:09

-1

在asp.net中使用成員系統有其優點和缺點。開始很容易,因爲您不必擔心驗證,用戶註冊和重置密碼。 (要小心,如果你打算修改表結構,你將不得不改變他們所產生的意見/存儲過程

但是也有缺點,使用會員 你必須保持2個獨立的系統,因爲Membership API有限制,例如,你不能在成員api的事務中執行操作(除非你使用我認爲的TransactionScope,但你沒有其他選擇)。

一個有效的替代方法是實現你的自己的安全驗證例程,以及使用FormsAuthentication。這樣你就可以完全控制你的用戶表,並且去除對成員API的依賴。

+0

問題不在於是否使用它,或者有什麼優點和缺點 – anthares 2010-02-23 08:15:45

+0

好,重點是你應該理解這些限制,這就是我和其他用戶指向你 – 2010-02-23 19:03:16

+0

不,我已經理解了限制我已經做出了我的選擇。那不是我的問題。我有非常具體的問題,你說的是完全真實的(我同意),但不符合我的要求。 – anthares 2010-02-23 19:15:22

4

我會創建custom membership provider並完全忽略那些aspnet_x表。我已經看到當一個join這些表和自定義的表與nhibernate映射 - 純粹的噩夢發生了什麼。

+0

它是否使用視圖來避免這種噩夢? – anthares 2010-02-23 08:33:01

+0

@anthares我不會那樣做。仍然感到骯髒。 :) – 2010-02-23 08:41:26