【问题标题】:MVC 4 Redirect failing with Authorize Attribute, AllowAnonymousMVC 4 重定向失败,授权属性,AllowAnonymous
【发布时间】:2017-03-24 20:08:38
【问题描述】:

我正在向使用 WebSecurity 成员资格的 MVC4 网站添加电子邮件验证。

如果用户注册,我们会向他们发送一封包含链接的电子邮件。如果他们在确认注册之前尝试登录,WebSecurity.Login() 将失败。好的,这很合理。

我需要网站做的是认识到它正在等待他们完成确认并通知他们。所以我有这样的代码:

if (ModelState.IsValid && !WebSecurity.IsConfirmed(model.UserName))
{
    // Inform the user
    return RedirectToAction("ConfEmailSent");
}

控制器标有 [Authorize] 属性,操作本身标有 [AllowAnonymous]。

重定向失败,但如果我在浏览器中手动更改 URL,它就可以正常工作。

这是一个 MVC4 错误还是我在这里遗漏了什么?

【问题讨论】:

  • if I manually change the URL in the browser, it works just fine.你能详细说明一下吗?
  • 那么The Redirect fails 是什么意思?用户看到了什么?
  • 我不确定要在第一条评论中添加什么。我认为这是不言自明的。我修改了浏览器地址栏中的 URL,它可以很好地打开页面。

标签: c# asp.net-mvc asp.net-mvc-4


【解决方案1】:

谜团解开了。真正令人尴尬的疏忽:我省略了 return 语句,只是在几个地方调用了 RedirectToAction()。呵呵。

【讨论】:

  • 我想删除我的问题,但这是一个简单的疏忽,编译器不会为你捕捉到,所以其他人可能会碰到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2015-03-03
相关资源
最近更新 更多