2009-09-18 70 views
3

MembershipProvider的真實用途是什麼?我是否需要它?在使用表單身份驗證時,我從來沒有在配置文件中指定任何成員資格提供程序,我一直通過調用FormsAuthentication.SetAuthCookie來驗證用戶身份。我昨天一直在閱讀很多,我無法弄清楚爲什麼我會用它?asp.net中的MembershipProvider

回答

3

MembershipProvider首先是一個可插入的標準化存儲庫。如果您將身份驗證的基礎設置爲MembershipProvider,那麼稍後可以與其他提供商交換,而不更改您的網站。此外,它還支持標準組件(Login,LoginView,LoginStatus,LoginName和PasswordRecovery控件),並且可以通過ASP.NET管理頁面進行管理。

+0

但我有使用它?或者我可以在不知道成員身份的情況下成功認證我的用戶? – agnieszka 2009-09-18 07:28:40

+0

當然你不需要。這是爲了您的方便。所有你需要做的表單身份驗證是一些代碼來檢查用戶名/密碼並調用FormsAuthentication方法。 – 2009-09-18 07:44:45

3

Tor已經說過這是非常方便的事情。

如果您使用usermanagement/login/password reset等的默認控件,那麼您可以更改web.config設置,並且您的用戶可以使用其他mechanisem進行身份驗證。

有AD的供應商,用於ADAM的SQL Server,用於Federrated Login等等。開發Intranet應用程序並不重要,因爲您很可能依賴於NTLM或Kerberos,但是當您發佈到Web時,它非常方便。

還有一個第二組件添加到此提供者,roleprovider,這是一個可以用來處理角色在你的應用程序

2

,如果你不使用我不認爲它有用另一個倉庫內置控件。

你可以做的只是實現一個成員提供程序,所有方法都拋出NotImplementedException,並且在你找出實際使用的方法時實現。 只有2或3,如果我沒有記錯的話。

RoleProvider更實用,我只使用GetRolesForUser方法實現的提供者,因此我可以使用內置的支持來進行基於角色的授權。

+0

是的,控件有幫助,但我認爲它的有用性,因爲它還存儲密碼散列並提供重置密碼等方法 – 2009-09-19 01:25:03

相關問題