<%:Html.AntiForgeryToken() %>

我们可以称作令牌认证.

操作系统:windows server 2008 r2

 本文来自zilchwei.转载请注明出处!

开发软件:visual studio 2010中文版+asp.net mvc 2.0中文版.

浏览器信息:IE8

我们在学习asp.net mvc的时候往往在考虑

Index的view输入数据 然后POST到AboutController做处理

我们做一个简单的数据输入页面

index的html代码如下:


<%:Html.BeginForm("About","Home")%>
用户名:
<input type="text" name="Zilhwei" />
<%Html.EndForm(); %>
 本文来自zilchwei.转载请注明出处!

很简单 我们输入一个用户名然后Post到HomeController中About这个ActionResult去做一个处理

当然 我们这里会生成HTML代码 如果代码被修改会怎么样呢?这个不做对的探讨.

我们对代码进行修改


<%:Html.BeginForm("About","Home")%>
<%:Html.AntiForgeryToken() %>
用户名:
<input type="text" name="Zilchwei" />
<%Html.EndForm(); %>

我们的view生成了这样的html代码

asp.net mvc 2被遗忘的asp.net mvc 2被遗忘的代码

<form action="/Home/About" method="post"><input name="__RequestVerificationToken" type="hidden" value="YUqLzBScUslwvdrKa50t4TEy3qyPXWFUH96MruwL6Uf10PcoM3kEi2cgAFBISRRE" />
用户名:
<input type="text" name="Zilchwei" />
</form>

接着我们接收的AboutConrtoller也要做出相应的修改.


[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult About()
{
return View();
}

这里需要说明的是ValidateAntiForgeryToken其实就是一个actionfilter

用户验证是否为指定页面提交的值.

 本文来自zilchwei.转载请注明出处!

这样测试肯定是没问题的

那么我们测试下如果未生成令牌会怎么样,修改index的代码


<%:Html.BeginForm("About","Home")%>
用户名:<input type="text" name="Zilchwei" />
<%Html.EndForm(); %>

我们验证结果如图

asp.net mvc 2被遗忘的

就这样  欢迎大家和我一起交流.端午节快乐!

 本文来自zilchwei.转载请注明出处!

转载于:https://www.cnblogs.com/ZilchWei/archive/2010/06/11/1756209.html

相关文章:

  • 2021-12-03
  • 2021-05-01
  • 2022-12-23
  • 2021-07-24
  • 2021-12-21
  • 2021-10-23
  • 2021-05-16
  • 2021-06-27
猜你喜欢
  • 2021-08-18
  • 2021-11-12
  • 2022-03-05
  • 2021-06-29
  • 2022-03-07
  • 2022-12-23
相关资源
相似解决方案