1

我有一个带有“忘记密码”链接的登录页面,该链接是使用属性为的<a>标签创建的,出于某种原因,此链接将我定向到登录页面而不是 ForgotPassword 页面。href@Url.Action("ForgotPassword", "Login", new { Area = "Admin" })

有人知道这是为什么吗?我一直在调查,发现我的项目没有什么奇怪的。

另一个注意事项:我的登录控制器上的“索引”操作被命中,但“忘记密码”操作永远不会。

这是 ForgotPassword 操作:

[HttpGet]
public ActionResult ForgotPassword()
{
    return View();
}
4

3 回答 3

0

这个问题不在@Url.Action 中。这是因为您拒绝访问此操作。可能是您的登录控制器上有 [Authorize] 属性。如果您不想删除 [Authorize] 属性,您可以在 web.config 中允许操作:

<configuration>
    ...

    <location path="Login/ForgotPassword">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>

...
</configuration>
于 2013-08-03T14:36:40.847 回答
0

如果控制器中有[Authorize]属性Login,请将其移动并放入您希望用户可以访问 who 的操作中isAuthorized

于 2013-08-03T15:02:37.800 回答
0

事实证明,我的问题是由我BaseController.cs的所有其他控制器继承而来的。由于验证逻辑错误,它被重定向到登录,我已修复。

谢谢大家的明智建议。

于 2013-08-08T22:40:13.987 回答