要求组指令不适用于Windows Server 2008 AD组

时间:2012-06-01 09:53:11

标签: apache

我正在尝试使用mod_sspi_auth模块实现Windows身份验证。 在配置apache 2.2的httpd.conf之后,我能够实现该模块的基本实现。 我应用的配置是位置标记,

AuthName "Windows Authentication Test" 
AuthType SSPI
SSPIAuth On
SSPIAuthoritative Off
SSPIDomain test.domain.com
SSPIOfferBasic On
SSPIOmitDomain Off
SSPIUsernameCase lower
Require valid-user      

它正确处理了一个问题。当我尝试从我的域中不存在的计算机访问我的网站时,该计算机正在通过我的应用程序服务器计算机进行身份验证。这不是预期的。 :困惑:

现在我想验证我在Windows Server 2008 AD中创建的用户组。我已经在这个组中添加了一些用户,并且使用了apache的Require group指令我尝试使用具有多个组合的“Require Group”指令。 但我仍然坚持不认证群组用户的问题。 组合的httpd.conf位置标记中的配置是

AuthName "Windows Authentication Test" 
AuthType SSPI
SSPIAuth On
SSPIAuthoritative Off
SSPIDomain test.domain.com
SSPIOfferBasic On
SSPIOmitDomain Off
SSPIUsernameCase lower
Require group test.domain.com\mygroup

我已经尝试使用Require指令的其他组合如下。 1.要求组“test.domain.com \ mygroup” 2.要求组mygroup 3.要求组“mygroup” 4.要求组“CN = abc,DC = test.domain.com” 5.要求组CN = abc,DC = test.domain.com

任何人都可以帮我这个.. ?????

3 个答案:

答案 0 :(得分:0)

尝试使用LocationMatch进行组限制。我的实例使用了2部分配置,看起来像这样。

<Location />
    AuthName "Windows Authentication Test" 
    AuthType SSPI
    SSPIAuth On
    SSPIAuthoritative Off
    SSPIDomain test.domain.com
    SSPIOfferBasic On
    SSPIOmitDomain Off
    SSPIUsernameCase lower
    Require valid-user  
</Location>

对于群组限制,我使用此:

<LocationMatch "/">
  Require group test.domain.com\mygroup
</LocationMatch>

关于您的困惑,使用AD凭据登录到加入域的计算机的用户将使用IE或其他支持NTLM的浏览器自动进行身份验证。但是对于未加入域的计算机,或者将提示域计算机上的非AD用户进行身份验证。

答案 1 :(得分:0)

此模块的某些版本也使用以下指令。

Require valid-sspi-user
Require sspi-user DOMAIN\user1 DOMAIN\user2
Require sspi-group DOMAIN\group

答案 2 :(得分:0)

需要 sspi-group DOMAIN\group_name

上述指令仅在您使用 sAMAccountName 中的 AD/LDAP 而不是 cn 名称时才有效。

很多时候他们两个是一样的,但并非总是如此。 cn 是可见名称,例如 very_important_ad_group,但 sAMAccountName 可能类似于 $ABCDEF-KOWI32OOK1LV 或其他任何内容,并且您需要 apache 配置中的 sAMAccountName .