2010-12-16 110 views
3

我是一個新的Asp.net Mvc程序員,我正在開發一個使用代碼第一個實體框架的網站。Asp.net mvc codefirst和身份驗證

我知道在mvc項目裏面有一個內置的會員提供商,甚至我可以使用自定義會員提供商來改變我的品味。

但我不知道是否最好忘記會員提供商並自行實施所有這些(登錄,身份驗證......)以獲得更好的完整性? 這是耗時的。

你可以告訴我哪一個更好。

問候

回答

2

有自帶的.NET框架SQL成員資格提供(http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx),其您可以使用。我會仔細看看。如果它不適合你的需求,那麼建立你自己的。

我總是建立我自己的,因爲我喜歡完全控制數據模型。我工作的大多數網站,我只需要在會員供應商中實施ValidateUser(),但是您需要實施的全部內容取決於您使用會員供應商所做的事情。當涉及到實施提供商時,我使用YAGNI方法。我只實現我知道要調用的方法。

如果這是針對您正在構建的產品,那麼我會繼續並實施一切,因爲您不知道其他開發人員可能會使用您的產品。

2

ASP.NET成員資格提供程序是一個很好的身份驗證框架。您可以通過將成員資格提供程序添加到數據庫或在現有數據庫的ontop上輕鬆擴展該框架。

對於身份驗證,狀態管理,加密,散列和角色等ASP.NET成員資格提供程序,您已經爲您做了很多努力。爲什麼重新發明輪子?

您可以輕鬆調用預構建的ASP.NET成員函數並節省您自己的工作量。

除了節省時間編程一個新的,可能是容易出錯的身份驗證服務,您還將使用.NET行業標準。這意味着如果你在使用它時遇到了問題,在你面前有更多的問題已經面臨同樣的問題。您還可以使您的身份驗證易於管理,因爲這是一種標準,其他人則可以輕鬆地將其提取並運行。