我的asp.net應用程序使用表單身份驗證工作正常。我還希望能夠創建「魔術」鏈接,以便他人可以關注該鏈接而無需登錄。如果用戶訪問如何在使用Forms Authentication和ASP.NET時通過鏈接自動驗證用戶身份?
http://myapp.com/viewstuff.aspx
那麼他們就會被重定向到login.aspx
第一,但如果他們訪問
http://myapp.com/viewstuff.aspx?ThingId=1234&Expires=20121004153200&Signature=aksdjfhalsdfydmvbsdkfjhysdk
然後它會自動記錄它們的來賓帳戶,讓他們查看所請求的東西。我可以生成這樣的鏈接並編寫邏輯來檢查簽名是否有效,但我不確定在ASP.NET生命週期的哪個位置放置我的邏輯。有什麼建議麼?
目前我已將邏輯放入Application_AuthorizeRequest中,但它看起來並不理想,因爲我需要在用戶驗證它們後重定向()用戶。我寧願能夠設置一些東西,說'好吧,我已經認證了這個人並設置了他們的身份,讓他們的請求繼續'。
如果有人有一個實現這個很好的例子。
我會嘗試把代碼放在global.asax.cs的Session_start中。您可以訪問HttpContext.Current.Request,可以執行重定向(順便說一句,不可能將Cookie設置爲可能與重定向結合)和session.End – jbl