我有一个带有“忘记密码”链接的登录页面,该链接是使用<a>
标记href
属性@Url.Action("ForgotPassword", "Login", new { Area = "Admin" })
创建的,由于某种原因,此链接指示我到登录页面而不是ForgotPassword页面。
有人知道为什么会这样吗?我一直在调查,发现我的项目并不奇怪。
另一个注意事项:我的Login控制器上的“Index”操作被点击,但“ForgotPassword”操作永远不会。
以下是ForgotPassword操作:
[HttpGet]
public ActionResult ForgotPassword()
{
return View();
}
答案 0 :(得分:0)
此问题不在@ Url.Action中。这是因为您拒绝访问此操作。可能是您的登录控制器上有[授权]属性。如果您不想删除[Authorize]属性,可以在web.config中执行操作:
<configuration>
...
<location path="Login/ForgotPassword">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
...
</configuration>
答案 1 :(得分:0)
如果[Authorize]
控制器中存在Login
属性,请移动它并将其放入您希望用户可以访问isAuthorized
的操作中。
答案 2 :(得分:0)
事实证明我的问题是由我的BaseController.cs
引起的,我的所有其他控制器都是从我这里继承的。由于我修复了错误的验证逻辑,它正在重定向到登录。
感谢大家提出明智的建议。