asp.net-mvc - 窗口身份验证在 MVC4 中不起作用

标签 asp.net-mvc asp.net-mvc-4 authentication iis-7.5

设想

用户 一个 可以访问MVC4网站中除一个页面之外的所有页面。但是用户可以访问所有页面(无限制)。

到目前为止我做了什么?

  • 在 IIS 7.5 上部署网站。
  • 为 IIS 上的托管网站启用窗口身份验证并禁用匿名身份验证。
  • 测试网站。

  • 测试结果 -

    (1) 当用户B登录网站部署所在的同一系统(开发系统)时,无需提示对话框即可访问该网站。

    (2) 但是当相同的网站在服务器(生产系统)上以相同的设置发布时,网站仍然会弹出要求凭据。

    ** 开发系统和生产系统都在同一个域中(我们将其命名为 domain.com )。



    为什么网站要求同一域中的同一用户提供凭据?

    最佳答案

    根据我对 的研究窗口认证 ,我想总结以下几行(也作为我的引用)-

    (1) 如果您已正确配置 WA,窗口身份验证(缩写 WA)将始终显示验证用户的提示。

    请参阅下面的快照中禁用匿名身份验证和启用 Windows 身份验证。

    (2) 即使一套 NTLM 作为顶级提供商比 Kerberos (在 IIS 中),IIS 仍会要求提供 Window 凭据。快照展示了如何做到这一点。

    How to set IIS Provider for Window Authentication

    (3) 如果您想避免显示提示 在 WA 浏览器上,按照步骤操作 -

    (a) 打开 IE 浏览器 --> Internet 选项 --> 安全选项卡。

    (b) 将站点添加到 本地内网 zone 以便浏览器将登录的用户名和密码发送到 IIS。

    Add website to Intranet zone

    注 - 以上几点普遍适用于 MVC 和 ASP.NET。

    回答我的问题 为什么网站要求同一域中的同一用户提供凭据?

    因为我在开发系统上设置了匿名身份验证和 Window 身份验证。 (愚蠢的错误)。

    关于asp.net-mvc - 窗口身份验证在 MVC4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024896/

    相关文章:

    c# - Jquery 提交不向 Controller 发布值

    asp.net - 使用 SmtpClient 发送邮件

    c# - 在模型的嵌套属性上使用 DisplayFor

    asp.net-mvc-4 - 我怎样才能做 "rake routes"等效于 ASP.NET MVC

    c# - ASP .NET MVC 表单字段验证(无模型)

    git - Bitbucket git LFS 给出奇怪的错误信息

    asp.net-mvc - WebActivator 有什么作用?

    c# - ASP.NET MVC (.NET 4.5.1) 中的 X-Frame-Options 错误

    c# - 如何在 C# AspNetCore 网站中使用 JWT JSON Web Tokens?

    android - 如何从 spotify [身份验证库] [spotify-android-auth-1.0] 注销