asp.net-mvc – 在asp.net MVC中授权属性和jquery AJAX
发布时间:2020-12-15 18:38:55 所属栏目:asp.Net 来源:网络整理
导读:我使用jquery ajax函数提交表单。 用户必须登录,否则他们必须重定向到登录页面。我已经使用Authorize()属性。 [Authorize]public ActionResult Creat(){....} 如果用户没有将操作返回登录页面登录到jquery的ajax函数,并且它显示在同一页面上,但是我想将用
我使用jquery ajax函数提交表单。
用户必须登录,否则他们必须重定向到登录页面。我已经使用Authorize()属性。 [Authorize] public ActionResult Creat() { .... } 如果用户没有将操作返回登录页面登录到jquery的ajax函数,并且它显示在同一页面上,但是我想将用户重定向到登录页面。 解决方法
工作实例:
https://github.com/ronnieoverby/mvc-ajax-auth
重要部分: AjaxAuthorizeAttribute: using System.Web.Mvc; namespace MvcApplication1 { public class AjaxAuthorizeAttribute : AuthorizeAttribute { protected override void HandleUnauthorizedRequest(AuthorizationContext context) { if (context.HttpContext.Request.IsAjaxRequest()) { var urlHelper = new UrlHelper(context.RequestContext); context.HttpContext.Response.StatusCode = 403; context.Result = new JsonResult { Data = new { Error = "NotAuthorized",LogOnUrl = urlHelper.Action("LogOn","Account") },JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else { base.HandleUnauthorizedRequest(context); } } } } Javascript: $(function () { $(document).ajaxError(function (e,xhr) { if (xhr.status == 403) { var response = $.parseJSON(xhr.responseText); window.location = response.LogOnUrl; } }); }); 使用控制器中的属性: [AjaxAuthorize] public ActionResult Secret() { return PartialView(); } 做一些ajax: @Ajax.ActionLink("Get Secret","Secret",new AjaxOptions { UpdateTargetId = "secretArea",}) <div id="secretArea"></div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 数据源不支持服务器端数据分页
- asp.net – 搜索elmah错误日志文件(也许在1000年代)
- asp.net – 在.net应用程序中使用jquery禁用回发上的按钮
- asp.net-mvc – 如何刷新多个部分视图点击Ajax.Actionlink
- asp.net – 永远不想在highcharts上隐藏工具提示
- asp.net-mvc – ASP.NET MVC中依赖于语言的路由
- asp.net-mvc – Web场中的nHibernate策略
- asp.net – 如何为我的网站实现Facebook“赞”按钮
- ASP.NET MVC正则表达式路由约束
- asp.net-mvc – ASP.NET MVC中的代码
推荐文章
站长推荐
- ASP.NET(MVC)Outputcache和并发请求
- asp.net – 如何禁用viewstate的aspx页面?
- reportviewer – 在ASP.NET MVC中的RDLC报表中看
- asp.net-mvc – ASP.NET MVC3视图授权设计
- asp.net-mvc – mvc默认期限后的会话超时(20分钟
- asp.net – 在.NET .NET中ctl00是常量吗?
- 如何在ASP.net MVC中正确执行异步方法?
- ASP.NET MVC下的四种验证编程方式[续篇]
- asp.net-mvc – ASP.NET MVC2的性能监控?
- asp.net – System.Web.Optimization是.NET Fram
热点阅读