在控制器MVC上绕过windows认证

本文关键字:windows 认证 控制器 MVC | 更新日期: 2023-09-27 17:50:25

我已经在我的mvc web应用程序上启用了Windows身份验证,但我需要在第一页上绕过它(因此任何人都可以访问HomeController'Index)。如何才能做到这一点?

下面是我的认证逻辑:

<location path="~/DashboardController" />
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <authentication mode="Windows" />
    <authorization>
      <allow users="Domain'MyUserName"/>
      <deny users="*" />
    </authorization>
  </system.web>

我已经尝试用[Authorize][Authorize(Users="*")]装饰默认的仪表板控制器Action,但是当我尝试访问主页时,浏览器显示提示输入凭据

在控制器MVC上绕过windows认证

[AllowAnonymous]属性添加到Index方法

[AllowAnonymous]
public ActionResult Index()
{
    ViewBag.Message = "Welcome to ASP.NET MVC!";
    return View();
}

或者,如果你不想使用属性,你可以通过web.config允许这样做。(我会避免上网。尽可能配置并使用属性。更多信息请看Jon Galloway的博客

<location path="HomeController/Index">
    <system.web>
        <authorization>
            <allow users="?" />
        </authorization>
    </system.web>
</location>