在部署一些似乎在测试中工作的代码之前,部署到Azure WebRole时使用AntiForgeryToken是否存在任何问题。因为它会产生一些HTML和cookie,所以我担心以下......
页面由MVC缓存缓存。防伪令牌的cookie是否会在后续页面请求中重新发布?
该页面在多个实例上的Azure Webrole中运行。如果接收服务器不是生成页面的服务器,是否有任何问题?
表格来自保存在数据库中的一堆html。因此,我们建议有效地执行字符串替换以查找简单的令牌并交换AntiForgery令牌。 (以下代码)这似乎有效,但令我担心。
var xtoken = "<!--AntiForgeryToken-->";
if (content.Contains(xtoken))
{
var token = HttpUtility.HtmlDecode(html.AntiForgeryToken().ToHtmlString());
content = content.Replace(xtoken, token);
}
return html.Raw(content)
以上会产生任何问题吗?
答案 0 :(得分:3)
您无法在AntiForgeryToken()
令牌 - see this。
该页面在多个服务器上的Azure Webrole中运行
如果您的意思是WebRole在多个实例上运行应该不是问题,因为默认情况下Azure会关注MachineKey(see here)
但是在部署(重新部署)之后,您可能会遇到问题,因为Azure will override MachineKey