【问题标题】:Windows Integrated Authentication not working on first page loadWindows 集成身份验证在第一页加载时不起作用
【发布时间】:2015-05-03 03:53:27
【问题描述】:

我在 IIS 上部署了一个 ASP.NET MVC4 网站,并启用了 Windows 身份验证。我的配置文件有这个设置:

<authentication mode="Windows" />
<authorization>
    <deny users="?" />
</authorization>

我的理解是,这将使我无需输入凭据即可进行身份验证;即 Intranet 站点。

这按预期工作,除了第一个页面加载。当我第一次访问该网站时,我会被定向到以下 URL:

http://localhost/SandboxWebsite/login.aspx?ReturnUrl=%2fSandboxWebsite

这显然是一个要求提供凭据的页面。当我再次导航到http://localhost/SandboxWebsite/ 时,我无需输入任何凭据即可自动进行身份验证。

为什么会发生这种情况,我该如何预防?

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4 authentication windows-authentication


    【解决方案1】:

    问题在于,虽然匿名访问作为一项设置被禁用,但没有授权规则拒绝匿名用户。为什么这会将我重定向到 Login.aspx 我不知道,但我通过添加以下规则来修复它。

    IIS > MyWebsite > .NET 授权规则

    【讨论】:

      【解决方案2】:

      约翰,

      这是一个很长的镜头,但您是否尝试过使用 LocalHost 以外的地址来访问该站点?由于设置方式的原因,您的 ASP.NET MVC4 网站可能需要特定的域名/计算机名称或 IP 地址。

      你可以修改你的 hosts 文件来测试一下。

      希望这会有所帮助。 多杰

      【讨论】:

      • 嗨,Dorje,我确实设法解决了这个问题。当我有时间时,我会自己回答这个问题。不过,感谢您的意见!
      猜你喜欢
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2017-09-24
      • 2023-04-03
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      相关资源
      最近更新 更多