C# 已将Asp.Net MVC应用程序身份验证从windows切换到窗体,但仍允许windows

C# 已将Asp.Net MVC应用程序身份验证从windows切换到窗体,但仍允许windows,c#,asp.net,forms-authentication,windows-authentication,C#,Asp.net,Forms Authentication,Windows Authentication,根据主题,我正在尝试将现有的asp.net mvc web应用程序更改为使用窗体身份验证而不是windows。到目前为止,我已经做了以下工作: 在web.config中修改了身份验证模式 向所有控制器(帐户除外)添加授权标记 为登录视图、视图、模型等创建了新控制器 web.config: <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </au

根据主题,我正在尝试将现有的asp.net mvc web应用程序更改为使用窗体身份验证而不是windows。到目前为止,我已经做了以下工作:

  • 在web.config中修改了身份验证模式
  • 向所有控制器(帐户除外)添加授权标记
  • 为登录视图、视图、模型等创建了新控制器
web.config:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
调试时,默认情况下会生成登录屏幕,而不是主页/索引。如果我测试不同的用户名/密码,一切都正常工作,因此这里的控制器/方法没有问题

然而,在主页/索引上,我进行了以下测试:

@if(Request.IsAuthenticated)
    {
        <p>Logged in @ViewBag.ClientName</p>
    }
    else
    {
        <p>Logged off</p>
    }
@if(Request.IsAuthenticated)
{
登录@ViewBag.ClientName

} 其他的 { 注销

}
ViewBag.ClientName只是从User.Identity.Name设置的。 当我正常登录时,ClientName显示我的电脑名/本地用户,而不是与我一起登录的表单用户。我还可以直接浏览到Index/Home并忽略登录以获得相同的结果

显然,Windows身份验证仍在这里应用,我已尝试关闭IIS Express,更改它调试的URL等,以防在本地计算机上仍设置某种形式的IIS设置或类似设置,但我无法阻止这种情况发生


有什么想法吗?

我找到了答案,但为了防止这对其他人有所帮助,答案非常简单

在解决方案资源管理器窗口中单击Project。按F4键查看窗口尚未打开时的设置,其中有一个Windows身份验证选项,我必须关闭该选项

@if(Request.IsAuthenticated)
    {
        <p>Logged in @ViewBag.ClientName</p>
    }
    else
    {
        <p>Logged off</p>
    }