【问题标题】:Setting NTAuthenticationProviders at an Application level in IIS 6在 IIS 6 中的应用程序级别设置 NTAuthenticationProviders
【发布时间】:2014-07-24 20:29:56
【问题描述】:

我在 IIS 中有以下结构。

Internet Information Services  
 (local computer)
  Web Sites  
   Default Web Site  
    MyApplication

MyApplication 是 IIS 中的应用程序。

Default Web Site 上未设置集成 Windows 身份验证。 但是我想在MyApplication 上设置集成 Windows 身份验证。 (它是一个 Intranet 应用程序)。

这可以通过 GUI 完成:右键单击 Default Web Site 并选择 Properties。选择Directory Security 选项卡,然后单击匿名访问和身份验证控件上的Edit

我想将它包含在安装脚本中。我有其他设置命令,使用adsutil.vbs,但我正在努力设置集成 Windows 身份验证。

跑步:

cscript //nologo c:\Inetpub\AdminScripts\adsutil.vbs GET /W3SVC/1/NTAuthenticationProviders

返回

NTAuthenticationProviders       : (STRING) "NTLM"

但是,我希望能够运行

cscript //nologo c:\Inetpub\AdminScripts\adsutil.vbs GET /W3SVC/1/ROOT/MyApplication/NTAuthenticationProviders

但这会返回

Error Trying To GET the property: (Get Method Failed)
NTAuthenticationProviders (This property is probably not allowed at this node)

不能在应用程序级别设置NTAuthenticationProviders Metabase 属性吗?

【问题讨论】:

    标签: iis


    【解决方案1】:

    在 IIS 目录安全 -> 身份验证方法对话框中控制 Authenticated Access 属性值的元数据库属性实际上称为AuthFlags

    该值是一个标志,并在此处记录:

    AuthFlags Metabase Property (IIS 6.0) (TechNet)

    要将此值设置为集成 Windows 身份验证 (AuthNTLM),请使用以下命令(请注意,因为此命令在默认网站 IISNumber:1 上运行)-

    adsutil.vbs SET /W3SVC/1/ROOT/MyApplication/AuthFlags 4

    如果您想同时设置 NTLM 和基本身份验证,那么您可以将这些值进行布尔或运算,例如MD_AUTH_BASIC | AuthNTLM。这将产生6 的整数结果:

    :: Set both NTLM and Basic authentication
    adsutil.vbs SET /W3SVC/1/ROOT/MyApplication/AuthFlags 6

    如果您检查元数据库文件 (C:\WINDOWS\system32\inetsrv\MetaBase.xml) 并搜索:

    Location="/LM/W3SVC/1/ROOT/MyApplication"

    ...您将看到控制此设置的属性(如上设置为 6 后):

    AuthFlags="AuthBasic | AuthNTLM"

    在元数据库中更新此值可能需要一些时间,因为诸如此类的更改不会立即刷新到文件中(尽管 IISRESET 会导致它立即更新)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 2015-05-31
      • 1970-01-01
      • 2018-10-17
      • 2021-12-28
      • 2011-01-10
      • 2014-07-01
      • 2015-07-27
      相关资源
      最近更新 更多