2010-08-06 79 views

回答

2

看着MVC 2源代码我不认为有可能更改cookie名称。该AntiForgeryData类开始:

private const string AntiForgeryTokenFieldName = "__RequestVerificationToken"; 

,并得到它只是调用cookie名称:

string cookieName = AntiForgeryData.GetAntiForgeryTokenName(ViewContext.HttpContext.Request.ApplicationPath); 
在HtmlHelper类

。它接受应用程序路径并将其转换为base 64并将其附加到__RequestVerificationToken的末尾,这是您在查看源代码时看到的结果。

如果您确实需要更改名称,我建议您从codeplex下载MVC 2源代码,并使用源代码作为参考,查看创建自己的html助手和反伪造令牌。但在这样做,你总是可以引入自己的错误...

+0

感谢您提供这样的详细分析。我想我只是坚持使用默认名称,而不是热衷于维护更多的源代码。也许我会向MVC团队提出这个请求。 – 2010-08-06 14:47:49

23

ASP.NET MVC 3和4让你通过设置静态AntiForgeryConfig.CookieName属性来更改cookie名称。我知道这个问题特别针对ASP.NET MVC 2问题,但是这个问题仍然会在搜索引擎排名上为诸如“ASP.NET MVC AntiForgeryToken cookie名称”之类的合适查询返回高位。我想我会在这里添加信息来保存其他人像我一样反编译ASP.NET MVC 3+源代码。

+4

不幸的是,没有改变隐藏输入名称__RequestVerificationToken的等价物。 – 2013-07-11 18:26:44

相关问题