
 
 用途:防止CSRF(跨网站请求伪造)。
用法:在View->Form表单中:
 aspx:<%:Html.AntiForgeryToken()%>
 razor:@Html.AntiForgeryToken()
 在Controller->Action动作上:[ValidateAntiForgeryToken]
原理:
1、<%:Html.AntiForgeryToken()%> 或@Html.AntiForgeryToken()
 这个方法会生成一个隐藏域:
 
并且会将一个以"__RequestVerificationToken“为KEY的COOKIE给控制层。
 
2、[ValidateAntiForgeryToken],根据传过来的令牌进行对比,如果相同,则允许访问,如果不同则拒绝访问。
关键:ValidateAntiForgeryToken只针对POST请求。
换句话说,[ValidateAntiForgeryToken]必须和[HttpPost]同时加在一个ACTION上才可以正常使用。