驗證用戶[這個問題涉及到ASP.NET MVC4,並且它是關於最佳實踐方法 - 所以請,不建議黑客]在查詢字符串身份驗證令牌與ASP.NET MVC
我想使用請求URL中發送的身份驗證令牌對用戶進行身份驗證。它的作用類似於密碼重置令牌,除非在這種情況下它不會進入重置頁面,而是授予對網站某些部分的訪問權限。這個想法是將帶有認證令牌的URL發送到用戶的經過驗證的電子郵件地址。用戶可以單擊鏈接並執行一些操作,而無需鍵入密碼。
開箱即用,ASP.NET具有[Authorize]屬性和SimpleMembershipProvider - 這些似乎很好,但他們在引擎蓋下面做了一些巫術魔法(如自動生成數據庫表),所以我不知道如何擴展它們來添加這個基於鏈接的身份驗證令牌。
我不期待一個確切的答案,但請指點我正確的方向。
謝謝!
謝謝 - 這是很好的建議,儘可能遵循形式。我如何區分真正的表單身份驗證和基於鏈接的身份驗證?基於鏈接的身份驗證不應該提供與forms-auth相同的權限 - 例如,基於鏈接的身份驗證用戶不應該能夠更改其密碼或電子郵件地址。 – 2013-03-07 08:23:19
你可以很容易地區分這一點。在Application_BeginRequest中,您將把查詢字符串轉換爲cookie,您可以解密cookie,將自定義數據(如果用戶身份驗證來自查詢字符串,將您的情況標誌)放入勾號中,然後您可以閱讀此處處理用戶身份驗證(例如操作過濾器)。有關自定義身份驗證數據的更多信息:http://www.danharman.net/2011/07/07/storing-custom-data-in-forms-authentication-tickets/ – 2013-03-07 08:29:41
呃......有趣。我會嘗試的。 – 2013-03-07 17:57:13