我希望用戶只使用他們的Facebook憑證登錄到我的網站。我想要一個擴展MembershipProvider類的FacebookMembershipProvider類。這樣我仍然可以使用ASP.net內置的安全功能,例如:[Authorize(roles = "Admin")]
在ASP.net中使用MembershipProvider和RoleProvider進行Facebook登錄mvc 3
有沒有人試過這個?你是如何實現它的?
我希望用戶只使用他們的Facebook憑證登錄到我的網站。我想要一個擴展MembershipProvider類的FacebookMembershipProvider類。這樣我仍然可以使用ASP.net內置的安全功能,例如:[Authorize(roles = "Admin")]
在ASP.net中使用MembershipProvider和RoleProvider進行Facebook登錄mvc 3
有沒有人試過這個?你是如何實現它的?
一種方法是使用Facebook登錄,然後創建一個關聯的會員帳戶,我正在查看web-matrix的microsoft-web-helpers軟件包中的一些代碼,他們的facebook助手似乎支持這種方法。
這樣你仍然可以使用默認的Membership和Role Provider。
您不會創建自定義成員資格提供者,儘管自Facebook登錄不起作用。不使用用戶名和密碼,而是使用返回認證令牌的Facebook API。驗證了身份驗證令牌後,您可以使用FormsAuthentication.SetAuthCookie(Username, Persist)存儲他們的Facebook ID。然後,角色提供者和[Authorize]標籤等將按照預期工作。您可能仍然希望創建自定義角色提供者,因爲它可以允許更簡單的數據庫模式,並且可能更適合於考慮到不需要存儲用戶名和密碼。
這就是我的做法。如果有新來的人登錄Facebook,請在幕後爲他們創建一個普通帳戶,我不打算讓他們生成密碼。如果他們想通過Facebook登錄,他們可以點擊「忘記密碼」鏈接,並以這種方式獲得新密碼(實際上是他們的第一個密碼)。 –