【问题标题】:ASP.NET Windows Authentication + server always getting anonymous userASP.NET Windows 身份验证 + 服务器总是获取匿名用户
【发布时间】:2014-09-30 18:00:51
【问题描述】:

这是我的场景:

我有一个 Intranet 应用程序。我想让网络用户使用 Windows 身份验证功能自动登录到应用程序。如果用户没有进入我的网络,我会向他们弹出一个登录屏幕。

所以,我把认证模式改成web.config文件为Windows。然后我使用HttpContext.User.Identity 对象来让登录的用户进入网络。所以我将应用程序运行到我的本地主机中,它运行良好。

当我将应用程序发布到服务器时,当我尝试自动登录时,Identity 对象始终为空。

所以,我尝试了以下步骤:

  1. 拒绝匿名用户。 <deny users="?"/>,不允许任何匿名用户进入应用程序,但我在这里遇到了一个问题:当用户没有进入我们的网络时,服务器会从 Window Servers 弹出默认身份验证窗口,而不是我的个人登录屏幕.

  2. 让匿名用户进入。如果我摆脱了<deny users="?"/>,任何用户都可以访问该页面,但它总是进入登录屏幕,即使我进入我的本地网络。

所以,我需要的是:当用户进入本地网络时,无需登录直接进入。如果不是,请向他们弹出一个登录屏幕。

有人可以帮我弄清楚发生了什么吗?

谢谢大家!

【问题讨论】:

标签: c# asp.net authentication active-directory


【解决方案1】:

执行以下操作,

<identity impersonate="true" />
<authentication mode="None" />
<authorization>
  <deny users="?" />
</authorization>

希望对你有帮助。

【讨论】:

  • 差不多了。我已将模拟更改为 true 并仅使用 &lt;deny users="?"&gt; 标记。更新您的答案,以便我接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
相关资源
最近更新 更多