【问题标题】:Enable Windows Authentication only for subdomain on IIS仅为 IIS 上的子域启用 Windows 身份验证
【发布时间】:2019-09-04 06:58:51
【问题描述】:

我有这种情况,主域需要匿名身份验证,而子域只能接受 Windows 身份验证才能使我的应用程序正常工作。

目前,我只能在 IIS 上做一个或另一个。基本上,在我的服务中,它期待WindowsIdentity,除非它通过Windows Authentication,否则它将变为ClaimsIdentity。我想确保这个请求的身份是 Windows 并且是经过身份验证的。

我已尝试为主域启用匿名身份验证和 Windows 身份验证,并为子域禁用匿名身份验证并启用 Windows 身份验证。

文件夹和站点结构:

文件夹

inetpub /我的服务 /wwwroot /我的子域

在 IIS 中

默认网站 /我的服务 /wwwroot /我的子域

我通过http://localhost/myservice/mysubdomain 提出了请求。如果我在 Visual Studio 2019 中将我的服务发布为 IIS,则 Windows 身份验证有效,但匿名身份验证无效。如果我将我的服务发布为 myservice 项目,则匿名身份验证有效,但 Windows 身份验证无效。

【问题讨论】:

  • 它们是独立的应用程序,还是都一样?如果是单独的应用程序,它们是在 IIS 中的同一站点下(一个是另一个站点的虚拟文件夹中的应用程序)还是单独的站点?
  • 我已经更新了我的问题,如果有帮助的话。他们坐在同一个应用程序中。

标签: iis subdomain windows-authentication


【解决方案1】:

我已经解决了这个问题。这不是我想要的理想解决方案,但它解决了我的问题。我不得不将我的应用更改为仅接受 Windows 身份验证。

【讨论】:

  • 你的意思是禁用匿名?在主站点还是子站点?如果您不想,您不必为主站点禁用匿名。
  • 显然我不得不这样做。我已经尝试了所有我能想到的为主站点启用匿名并为其子域禁用它。
  • “子域”站点是否转换为 IIS 中的应用程序? (在 IIS 管理器中,右键单击站点下的文件夹,然后单击“转换为应用程序”)
  • 做到了,没有做到。我几乎做了所有有意义和没有意义的事情。
  • 奇数。不看就很难知道哪里出了问题,但肯定可以在根下使用匿名并在根下的应用程序中禁用匿名。我已经做到了。
猜你喜欢
  • 2016-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
相关资源
最近更新 更多