世间自有公道,付出总有回报,说到不如做到,要做就做好,步步高!

MVC 3 : AJAX 权限验证

初学MVC3有很多不明白的地方,尤其是数据传递,SESSION控制 等等。

近期用MVC3做了个小项目,其中用到权限验证

问题描述:

    有一个 delete 操作,是AJAX请求,权限验证是UrlAuthorizeAttribute 继承自 AuthorizeAttribute ,如验证没有权限则执行如下代码:

filterContext.HttpContext.Response.Redirect("/Error/deny",true);


ajax 的 delete 对应的ACTION 返回 JsonResult


问题出来了,每次执行delete 操作都不跳转至无权访问的提示页,调试跟踪N遍,没有成功。突然灵光一现,

心想:即然 ACTION 返回的是 JsonResult 那没有权限的时候应该返回同样的类型才对,所以无权访问的执行代码改为如下:


filterContext.Result = new JsonResult { Data = new BasicJsonMessage { Message = "您没有权限", Success=false } };


程序运行通过,并通过JS提示 “您没有权限!”


BasicJsonMessage 这是我自定义的类,两个属性 Message 和 Success

到此好像明白了点什么 ,但又抓不着。


你想到什么了吗?




posted @ 2011-09-17 22:00  疯狂秀才  阅读(4750)  评论(7编辑  收藏  举报