ASP.NET MVC:未经身份验证的用户始终重定向到登录页面

ASP.NET MVC: Unauthenticated User Always Redirected to Login page

我已经尝试解决这个问题一个星期了,我尝试了所有想到的方法。我正在使用 asp.net mvc 4 模板创建网络应用程序。问题是,在我不先登录就无法访问任何路由之前,我总是被重定向到登录页面。甚至不注册新用户,这很荒谬。我使用的是简单的成员资格和默认的帐户控制器,我什至尝试从帐户控制器中删除 [Authorize] 属性,但即使这样我也会被重定向到登录页面。 我的帐户控制器如下所示:

[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
...
    [AllowAnonymous]
    public ActionResult Register()
    {
        return View();
    }

我的网络配置是:

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
   </authentication>

在 chrome 中,当我点击注册 link 时,出现此错误

能否请您尝试检查您的数据库连接字符串?
我认为问题可能出在 InitializeSimpleMembership 属性上,它试图找到与 SQL 服务器的有效连接,但似乎找不到。

这是托管在 IIS 上吗?您是否检查过该级别的身份验证类型?如果您在 Visual Studio 内托管它,请确保您已检查项目级别的 'Allow Anonymous' 身份验证和 'Windows Authentication' 设置。

问题出在 _Layout.cshtml 文件中的以下操作中

<li>@Html.Action("BasicInfo", "Profile")</li>

正在调用 ProfileController 操作 BasicInfo,并且 ProfileController 装饰有 Authorize 属性,该属性将操作重定向到登录。相当愚蠢和误导性的错误...一旦我检查用户是否在此操作之前经过身份验证,一切正常