2013-02-16 52 views
0

我不明白爲什麼很多人談論創建從asp.net庫中的某些基類繼承並在web.config文件中註冊提供程序的成員資格提供程序。因爲我們可以得到我們想要的任何東西而無需這樣我寫了一個靜態類,可以檢查用戶是否存在相應的數據庫,添加用戶,通過調用FormsAuthentication.SetAuthCookie來驗證用戶,並且一切正常。很快,爲什麼我們需要告訴web.config文件我們使用哪個提供程序。爲什麼我們的供應商需要繼承會員供應商?爲什麼使用告訴.net關於提供者?

回答

2

爲什麼我們需要告訴我們使用哪個提供商的web.config文件。

因爲這是提供者模型ASP.NET是如何工作的。如果您編寫自定義提供程序,則需要在web.config中註冊它。您還需要指出哪個應用程序將使用哪個默認提供程序。角色提供者也是如此。

我們的供應商需要繼承成員資格提供?

不,你不需要做。您可以擁有完全自定義的代碼,用於執行成員資格提供程序的任務,例如驗證用戶憑據或創建新用戶。

成員提供商進行ASP.NET應用程序中,大多數開發人員都熟悉這些任務的只是一個標準的方式。如果您決定推出自己的自定義代碼,那麼如果新開發人員加入您的團隊,他需要了解所有這些自定義代碼。

另外你提到你寫了一個靜態類。這些類的靜態類的缺點是你強烈地耦合了你的應用程序的不同層,使得難以獨立地測試和重用它們。成員提供者的重點在於它是一種抽象。此外,如果您不需要編寫自定義成員資格提供程序時所需的全部功能,則無需覆蓋所有方法。只有你實際使用的那些。

+0

但我已經完成了所有的工作,而無需在web.config中註冊提供者。簡而言之,如果我們不去,會出現什麼問題 – 2013-02-16 18:01:56

+0

如果您的自定義類不是從'MemberhipProvider'類派生的,那麼您不需要在web.config中註冊任何內容以使其工作。 – 2013-02-16 18:13:52

+0

我還是不明白,如果我註冊或不註冊,它會發生什麼變化,這會如何影響我的申請 – 2013-02-16 18:22:16

相關問題