考虑使用指令中的Salt参数的ASP.NET MVC应用程序[ValidateAntiForgeryToken].
该场景使得该应用程序将被许多客户使用.Salt在编译时知道它是非常可取的.
当前的策略是在web.config中找到Salt值.
[ValidateAntiForgeryToken(Salt = Config.AppSalt)]
//Config.AppSalt is a static property that reads the web.config.
Run Code Online (Sandbox Code Playgroud)
这导致编译时异常,表明Salt在编译时必须是const.
属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式
如何修改应用程序以允许运行时加载,Salt以便不必为每个客户重新安装和重新编译应用程序?
考虑到Salt不会经常改变,如果有的话,从而消除了使表格无效的可能性
我希望我的问题不是太简单,但你知道在安全方面,我们都会怀疑.
由于在这两种情况之前(登录/注册),我们没有登录用户(会话cookie),为什么我们要打扰登录/注册表单中的AntiForgeryToken?