加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 登录后重定向MVC3

发布时间:2020-12-16 09:45:25 所属栏目:asp.Net 来源:网络整理
导读:一直试图整合一个mvc登录页面,该页面将重定向回原始页面,该页面需要基于其他堆栈溢出帖子的授权. 重定向 protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext){ filterContext.Result = new RedirectToRouteResult( new
一直试图整合一个mvc登录页面,该页面将重定向回原始页面,该页面需要基于其他堆栈溢出帖子的授权.

重定向

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
  filterContext.Result = new RedirectToRouteResult(
                             new RouteValueDictionary 
                               {
                                   { "action","login" },{"ReturnUrl",filterContext.HttpContext.Request.RawUrl},{ "controller","mycontroller" }
                               });
}

登录页面视图有

@Html.Hidden("returnUrl",ViewContext.HttpContext.Request.Params["returnurl"])

位于表格内.我最初使用ViewContext.HttpContext.Request.Url.PathAndQuery基于另一个论坛帖子,但其中包括整个网址.

我有控制器内部

[HttpPost]
public ActionResult Login(MyModel model)
{
   if (loginisValid)
      return Redirect(model.ReturnUrl);
   else
      return View();
}

但这只会返回原始页面,即使它正在击中重定向.我也尝试过RedirectToAction和RedirectToRoute,但是那些会给出错误.我正在我的索引页面上测试它,该索引页面位于localhost / admin / mycontroller.所以model.ReturnUrl目前包含“/ admin / mycontroller”.我应该改变什么来使这项工作?

解决方法

事实证明,所有这些代码都是正确的.但是,我没有放

[RequireHttps(Order=0)]

在我的控制器上,所以它永远不会正确地存储cookie,并在重定向回我的索引页面后再次失败授权.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读