MVC 3 : AJAX 权限验证

本文探讨了在MVC3框架下实现权限验证的方法,特别是对于AJAX请求的delete操作如何正确处理无权访问的情况。作者最初使用重定向方式处理权限不足的问题,但发现这种方式与AJAX操作不兼容。最终通过返回JsonResult的方式解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学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

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


你想到什么了吗?




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值