2012-01-12 34 views
0

我正在使用C#構建一個使用ASP.Net 4和MVC3的項目。 ASP.Net成員資格提供程序很好地集成到框架中。 角色檢查和一些身份信息,但我有一個問題。 靈活性有限。 我應該從頭開始構建一個新的用戶管理系統,並在控制器內部丟失方便的短代碼等。 有沒有其他的選擇?ASP.Net會員您的想法?

擔心哈希密碼,緩存的東西,會話管理只是讓我頭痛,當我想從頭開始構建的東西。

+0

定義「有限的靈活性。」你打算怎麼做,默認的會員供應商不會允許? – StriplingWarrior 2012-01-12 20:26:53

+0

[SqlMembershipProvider vs自定義解決方案]的可能重複(http://stackoverflow.com/questions/5445260/sqlmembershipprovider-vs-a-custom-solutions)。另請參閱http://stackoverflow.com/questions/6862222和http://stackoverflow.com/questions/4973820 – StriplingWarrior 2012-01-12 20:28:58

回答

5

我使用ASP成員資格主要用於登錄(僅)。然後,我使用數據庫特定的表格來實現ASP會員不易輕鬆適應(或完全)的高度自定義用戶特性。如果任何自定義功能「可以」(容易)被ASP Membership Db所容納......那麼我使用它......但大多數情況下,我將自定義用戶特定功能放入目標數據庫(問題中)。

也...

由於ASP會員功能可以同時管理多個數據庫,我從那些它管理運行一個單獨的ASP會員數據庫實例(除了)。這樣的行爲已經證明對我來說很友善。

+1

這正是我們所做的。只需將密碼外包給sqlmembership數據庫,並在應用程序數據庫中分別跟蹤用戶。我們甚至使用我們自己的自定義RoleProvider。 +1用於保持會員數據庫與應用程序數據庫分開它可能更昂貴,但值得。 – danludwig 2012-01-13 18:43:33

+0

非常值得...謝謝! – 2012-01-13 21:54:25

0

從頭開始編寫自己的會員系統不會有太多優勢。

你會更好地實現一個自定義的成員資格提供程序和角色提供程序 - 這意味着您可以輕鬆地使用[Authorize]屬性和其他內置成員資格角色的東西,然後將所需的任何額外東西添加到自定義提供程序中。

看一看herehere看到什麼是參與的MembershipProvider和RoleProvider - 從抽象的MembershipProvider和RoleProvider只是派生,並提供自己的實現