【发布时间】:2011-02-28 23:43:33
【问题描述】:
考虑使用[ValidateAntiForgeryToken] 指令中的Salt 参数的 ASP.NET MVC 应用程序。
该应用程序将被许多客户使用。在编译时知道Salt 并不是非常可取的。
目前的策略是在 web.config 中定位 Salt 值。
[ValidateAntiForgeryToken(Salt = Config.AppSalt)]
//Config.AppSalt is a static property that reads the web.config.
这会导致编译时异常,提示 Salt 在编译时必须是 const。
属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式
如何修改应用程序以允许在运行时加载 Salt,从而不必为每个客户重新加盐和重新编译应用程序?
考虑到Salt 不会经常更改(如果有的话),从而消除了表单无效的可能性
【问题讨论】:
-
正如 Microsoft MVC 安全人员 Levi 所说,您不需要这样做。
标签: asp.net-mvc csrf salt