好的,首先我想说我不知道我在做什么。
我的 MVC 项目中有几个页面不断受到不同页面的影响。例如,我的一个模型的编辑页面可以来自详细信息页面或 Crud 索引页面上的管理链接。完成编辑后,我想将用户送回正确的位置。考虑到我不了解 Identity returnUrl 的东西,我编写了自己的方法来创建两个 cookie,最终我可能不需要两个,但现在我有两个,这样我就可以在 Chrome F12 工具中监控它们的更新并确保每个当我在控制器操作中使用此方法时,它正在做正确的事情。我还想说我也没有为此做任何测试。我的测试是反复试验和 Chrome F12。
这是代码:
private void LastActionHero()
{
string lastUrl = null;
var currentUrl = Request.Url.LocalPath;
if (Request.Cookies["currentUrl"] != null)
{
lastUrl = Request.Cookies["currentUrl"].Value;
}
if (lastUrl != currentUrl)
{
var current = new HttpCookie("currentUrl", currentUrl)
{Expires = DateTime.Now.AddDays(1)};
Response.Cookies.Set(current);
var previous = new HttpCookie("lastUrl", lastUrl)
{ Expires = DateTime.Now.AddDays(1) };
Response.Cookies.Set(previous);
}
}
问题: 有没有更好的方法来做到这一点,这是否安全?网站的一部分不在登录后面。这有关系吗?
你对我应该如何实现这个有什么想法吗?
我仍在研究如何使用它。
这是 cookie 的屏幕截图,它们似乎工作正常我在 3 或 4 个操作中来回多次使用该方法,这里显示了正确的最后 2 个 URL: