假設我的應用程序中有一個模塊可以更改用戶名。由於用戶名已更改,authcookie應與XSRF令牌一起更新。已更新用戶的X-XSRF令牌錯誤
嘗試此操作後,我收到一條錯誤消息,提示「所提供的防僞令牌是爲用戶準備的......」。那麼我有一點關於如何解決這個問題的提示。由於當前的XSRF令牌是舊的用戶名,而不是更新的,所以這個錯誤。
縱觀Global.asax代碼,更改用戶名只會反映在Application_AuthenticateRequest
。我還修改了Application_PostAuthenticateRequest
以強制在更新後的用戶名上創建新的XSRF標記,如果驗證通過,它將會遇到同樣的錯誤。
protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
{
var existingXsrfCookie = Request.Cookies["XSRF-TOKEN"];
// logic for parsing XSRF-TOKEN
try
{
...more logic
AntiForgery.Validate(currentCookieToken, currentFormToken);
return;
}
catch (Exception ex)
{
Logger.ErrorException(ex.Message, ex);
}
// logic for creating new XSRF token
}
現在我真正的問題是,我可以觸發Application_AuthenticateRequest
和Application_PostAuthenticateRequest
其他比在Global.asax在服務器端?
我想在用戶更新用戶名後立即觸發。
'我的問題是,當我成功更新特定用戶的詳細信息時 - 請向我們顯示您的代碼。 – mjwills
用戶的更新只是嵌入BL中的存儲過程。 – jengfad
有沒有機會與我們分享? – mjwills