
体的实现可以参见 Base64UrlTextEncoder.cs
生成上面隐藏域的代码在 AntiforgeryExtensions 这个
文 件 里 面 , github 上 的 源 码 文 件 :
AntiforgeryExtensions.cs
其中重点的方法如下:
public void WriteTo(TextWriter writer,
HtmlEncoder encoder)
{
writer.Write("<input name=\"");
encoder.Encode(writer, _fieldName);
writer.Write("\" type=\"hidden\" value=\"");
encoder.Encode(writer, _requestToken);
writer.Write("\" />");
}
相当的清晰明了!
控制器层面
用法
[ValidateAntiForgeryToken]
[AutoValidateAntiforgeryToken]
[IgnoreAntiforgeryToken]
这三个都是可以基于类或方法的,所以我们只要在某个
控制器或者是在某个 Action 上面加上这些 Attribute 就可