asp.net mvc 2被遗忘的

来源:互联网 发布:网络语洗白是什么意思 编辑:程序博客网 时间:2024/06/12 23:08

======================================================
注:本文源代码点此下载
======================================================

asp.net mvc 2被遗忘的

2010-06-11 11:19

by

zilchwei,

2325

visits,

收藏,

编辑

我们可以称作令牌认证.

操作系统: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代码

代码

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(); %>

我们验证结果如图

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

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

绿色通道:好文要顶关注我收藏该文与我联系

categories:

asp.net mvc

add your comment

14 条回复

1995028

#1楼 tt.net2010-06-11 11:21

虽然.net 4.0新加了

这里用不着吧??

回复 引用 查看

#2楼[楼主] zilchwei2010-06-11 11:30

这里没有对beginform做研究主要是antiforgerytoken做一个介绍

当然 我以后会注意细节上的问题

回复 引用 查看

#3楼 小no2010-06-11 11:57

ajax调用时是有问题的,你应该把ajax调用的解决方案也写上

回复 引用 查看

#4楼 jack_xiao2010-06-11 21:28

"很简单 我们输入一个用户名然后post到about这个controller去做一个处理"

应该是post到 homecontroller中名为about 的action。

回复 引用 查看

#5楼[楼主] zilchwei2010-06-12 08:17

多谢4楼指正

about这个controller是不存在的 我粗心大意了

回复3楼下次对ajax做一个补充!

回复 引用 查看

#6楼 snowsky2010-06-12 08:36

不知道博主的代码每次要修改多少次,会不会和我一样,写一段小代码,都会发现丢三落四一大堆...

回复 引用 查看

#7楼 yanghao2010-06-12 10:52

请问博主,visual studio 2010中文版+asp.net mvc 2.0中文版.用这2个开发工具是用于个人学习研究,还是公司项目用到的?

回复 引用 查看

#8楼[楼主] zilchwei2010-06-13 08:53

回复6楼!

丢三落四是我的一个不好的习惯

因为我现在2个版本并存

vs2008+asp.net mvc2.0 for2008

visual studio 2010中文版+asp.net mvc 2.0中文版

有时候写的就比较混乱.目前未使用

visual studio 2010中文版+asp.net mvc 2.0中文版做项目开发

还处以

vs2008+asp.net mvc2.0 for2008

回复7楼

visual studio 2010中文版+asp.net mvc 2.0中文版

可以用着公司项目也可以用这个人学习研究.前提是服务器是独立服务器.

如果是购买的虚拟主机那就需要看服务商提供的环境了.

回复 引用 查看

#9楼 bizm2010-06-26 08:41

这个是用来处理表单重复提交的么?

回复 引用 查看

#10楼[楼主] zilchwei2010-07-12 15:44

回复9楼!

这个功能我个人认为主要是防止 站外访问

回复 引用 查看

#11楼 天平盛世2010-10-15 15:58

@yanghao

学习工作都可以,但是公司一般不会使用很新工具和技术,他们更新的比较迟钝,

回复 引用 查看

#12楼 天平盛世2010-10-15 16:29

看了文章后好迷茫,不知道文章居然没有讲antiforgerytoken的用法

回复 引用 查看

#13楼 天平盛世2010-10-15 16:31

还有一个问题就是报错

“未提供必要的防伪标记或防伪标记无效”

是validateantiforgerytoken使用的不正确吗

回复 引用 查看

#14楼[楼主] zilchwei2010-12-23 09:18

楼上 用法已经说的很明白了

回复 引用 查看

注册用户登录后才能发表评论,请 登录 或 注册,返回博客园首页。

首页博问闪存新闻园子招聘知识库

最新it新闻:

·ios 5.1 beta3文件预示未来 siri有可能支持 ipad和 ipod touch

·android平台12月广告浏览份额51.6% 超越ios

·测试版ios源代码显示ipad 3或将支持siri

·斯蒂芬·霍金的新电脑

·京东商城2.95亿竞得北京商业地一块

» 更多新闻...

最新知识库文章:

·javascript 面向对象编程

·持续集成之“everything is code”

·持续集成之“软件自我识别”

·持续集成之戏说check-in dance

·什么是闭包。
       我的理解

» 更多知识库文章...

china-pub 2011秋季教材巡展

china-pub 计算机绝版图书按需印刷服务


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/