2010-08-24 59 views
8

我一直遠離asp.net會員,因爲它似乎臃腫,(當時)無法測試。特別是在asp.net MVC的情況下,是否有人使用替代解決方案爲用戶分配角色,併爲登錄用戶存儲一些附加信息?任何建議?僅僅推出自己的產品,實施你需要的功能是否瘋狂?ASP.NET會員替代

+0

如果您需要替代方案,那麼您可能有一些原因...可以與我們分享嗎?您想使用的asp.net會員中缺少什麼? – 2010-08-24 21:29:42

+3

我不知道它是如何「臃腫」。如果有的話,它在角色方面有點吝嗇。 – Greg 2010-08-24 21:31:07

+0

您可以將列添加到由aspnet_regsql生成的表中,並且它工作得很好。然後,您可以根據實體模型以某種方式引用表格。這樣,您仍然可以使用ASP.NET的成員資格提供程序來滿足您的需求,但是您也可以從存儲的其他信息中受益。 – Andrew 2010-08-24 22:17:00

回答

3

ASP.NET成員身份使用存儲提供程序模型。 SqlMembershipProvider繼承了抽象MembershipProvider類中的加密/散列密碼功能。但是你也可以從MembershipProvider繼承,如果你願意,可以在自定義提供者中獲得該功能。

如果您使用SqlMembershipProvider,您將得到一個完整的密碼管理(檢查,更改,重置,無效密碼嘗試)和用戶管理(CRUD操作,鎖定用戶)的完全正常工作的成員數據庫。

所有這些都在API級別。您可以根據API創建任何您想要的UI。

使用SqlMembershipProvider並不要求您使用角色提供者或配置文件提供者或其他任何東西,並且您可以在不影響成員身份的情況下爲自己推出自己的東西。至少我會建議使用經過充分測試的SqlMembershipProvider作爲基本內容的安全核心。

+0

我想這個問題是當你需要擴展它。或者,您現有的模式與SqlMembershipProvider數據庫不匹配。 – Roco72 2010-08-25 17:56:15

+0

擴展SqlMembershipProvider可能會有問題。我個人在主要在Oracle上運行的應用程序中使用SqlMembershipProvider。這些表只是坐在自己的小數據庫中,不用擔心主要的業務數據庫,它似乎對我很好。 – Greg 2010-08-25 18:59:29

0

我已成功實施DotNetOpenAuth作爲成員資格和角色提供者。這不是一個完整的實現,而是處理大多數常見的場景。

他們提供VS模板來幫助您入門。