我正在开发一个项目,根据您编译项目的方式,您有一个安全且不安全的项目版本。简而言之,我想知道如何停用 ValidateAntiForgeryToken ,具体取决于我正在运行的版本。
[AllowAnonymous]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ProductInfo(ProductInfoModel review)
{
...
}
答案 0 :(得分:0)
定义编译符号(可称为SECURED),然后在线检查该符号:
[AllowAnonymous]
[HttpPost]
#if SECURED
[ValidateAntiForgeryToken]
#endif
public ActionResult ProductInfo(ProductInfoModel review)
{
...
}
如果您不想将其添加到项目的属性中,还可以从MSBuild命令中定义它:
MSBuild [...] /p:DefineConstants=SECURED
答案 1 :(得分:0)
你们每个人都有独立的构建吗?如果是这样,您可以在不希望它运行的构建中添加一个符号(Project Properties - > Build),并在您不想运行的代码周围添加属性内的#IF。 / p>
#if !DISABLEFORGERY
...
#endif
你可以把它放在消费类的属性定义上,但是你必须在多个地方(可能)重复它。