2011-09-05 107 views
0

我想寫一個Web應用程序,我試圖弄清楚什麼是我的關於用戶授權和驗證possibilites,爲我到目前爲止閱讀:採用aspasp.net用戶授權和驗證

  1. 。網成員和角色管理
  2. 使用OAuth或OpenID的控制
  3. 實現自己這個部分(這個貌似很多艱苦的工作,我不知道它的價值的話)

你有什麼建議,或者您可以鏈接到更多的信息,關於這個問題

謝謝

多倫

+2

這三個是可能的,你的問題不是建設性的。投票結束。 –

回答

0

使用ASP.NET MembershipProviderProfileProviderRoleProvider是最好的解決方案IMO,因爲它使你的應用程序插件 - 作品框架,它強制抽象層。

我不建議使用靜態類訪問提供程序,我總是通過DI直接依賴提供程序並保持可測試性。

var service = new UserService(Membership.Provider); 
service.MyUserAction("myusername"); 

// rather than 

var user = Membership.GetUser("myusername"); 
... 

OAuthOpenId可以用來補充和擴展基本形式實現,允許用戶通過其他提供商登錄,但隨後映射到本地用戶,這樣就可以存儲更多的元數據。

你真的不使用提供者通過FormsAuthentication.SetAuthCookie採取ASP.NET認證的優勢,利用該身份驗證的cookie是後驗證了一個快捷方式。

滾動你自己是一個壞主意。構建它的機制不是沒有錯誤的,但它是一個堅實的基礎實現,可以避免大多數人的基本陷阱。對於任何authenticationauthorisation邏輯,切勿使用Session,因爲它非常不安全。