2012-06-04 32 views
1

我們通過活動目錄按如下方式爲Intranet站點設置了安全性。通過經典ASP中的活動目錄組對用戶進行身份驗證

首先,我們必須按部門安全組(銷售,會計等)

其次,我們有企業內部網的網站,人們通過NT質詢/響應登錄的AD安全組。爲此,我們稱該組爲「Intranet用戶」

在Intranet用戶下,我添加了允許使用Intranet的部門。

因此,在AD中,您擁有Intranet用戶,並且該組的成員是Sales and Accounting。

我在傳統ASP中需要做的是根據Intranet用戶下的組對用戶進行身份驗證。

我挖了我在其他地方使用一些舊的代碼,但我不能讓它工作,除非這個話題我的谷歌福太可怕了(一個明顯的可能性),我無法找到這樣做的正確的文件經典的ASP。

此代碼將獲得組,但只會枚舉其中的對象,如果它是用戶而不是組。

bAuthUser = False 
Set objGroup = GetObject("WinNT://DOMAIN/Intranet Users") 
For Each objMember In objGroup.Members 
    If objMember.Class = "User" Then 
      If objMember.Name = Request.ServerVariables("AUTH_USER") Then bAuthUser = True 
    End If 
Next 

上述代碼適用於安全組中有實際用戶,但組中沒有用戶,僅其他安全組。

我需要做的是循環「Intranet用戶」中的組,然後通過每個組中的用戶進行身份驗證。

我在正確的軌道上或完全關閉?

在此先感謝。

回答

1

這取決於您正在尋找的功能。

如果目標是「每個人都可以訪問該網站,但如果是在Intranet用戶,他們得到這種額外的功能」,那麼你是上的路徑是正確的。

如果您只想說「只有Intranet用戶可以訪問我的網站」,則可以使用IIS的未公開文檔功能。如果進入文件夾安全性選項並從ACL中刪除通用帳戶並將Intranet用戶組添加到ACL,則如果通過身份驗證的用戶不在Intranet用戶中,IIS將引發403異常。

+0

嗯,我希望用戶通過NT挑戰/響應,但還是限制他們所看到的基礎上,他們是否是一組爲內網用戶組的成員在索引頁上。基本上我需要循環通過屬於網用戶AD組然後通過各自部門組的一部分的用戶看的一部分的元件組。上述代碼的作用在於它允許我檢查組中的用戶,但我似乎無法弄清楚如何引用屬於組成員的安全組。 – Tom

1

您可以根據LDAP路徑查找對象,但我沒有在ASP中完成此操作,this article看起來像是this question的良好起點。

+0

感謝您的鏈接,但我仍然無法爲我工作。男人,我不知道爲什麼這是如此困難和記錄不全。我明白,經典的ASP現在已經很老了,但是我希望有人在某個時候需要這樣做!爲了解決我的問題... – Tom

+0

任何運氣湯姆?很高興知道! – pee2pee

相關問題