2011-11-02 81 views
1

也有類似的問題,但它們要麼沒有回答,要麼關於ASP.Net。ASP經典活動目錄自動登錄無彈出

我的場景是這樣的: 當用戶點擊一個內部站點(ASP Classic,IIS 6,windows server 2003)時,它會根據他們的Active Directory記錄自動生成並確定他們是誰,彈出要求他們輸入他們的用戶名和密碼。在IIS中使用匿名身份驗證意味着LOGON_USER輸出管理員用戶。關閉匿名意味着我得到彈出窗口。

由於他們已經登錄到Windows,有沒有一種方法可以確定他們是誰,並且不需要他們再次輸入用戶名和密碼。

我已經在ASP內部進行了AD集成破解。只需要阻止它詢問用戶名和密碼。

由於提前, 詹姆斯

+0

重複的帖子:http://serverfault.com/q/327110/494 –

+0

正如那篇文章中提到的那樣,這是因爲沒有人在這裏回答過! 「在堆棧溢出上有類似的問題,我幾乎在那裏發佈了相同的問題,沒有任何迴應。」 – jamesmhaley

回答

1

在Request.ServerVariables集合,還有應填寫認證用戶的AUTH_USER項目:

http://www.4guysfromrolla.com/demos/servervariables.asp

要具有傳統的ASP登錄爲不同的用戶,則需要外置COM對象。 有是有一些VB6代碼可以編譯成一個ActiveX COM對象,並從傳統的ASP調用登錄爲不同的用戶(並再次註銷)爲例在線:

http://www.iisfaq.com/Default.aspx?tabid=2947

當登錄,你的asp進程將在登錄的用戶名下運行,並不再在IIS中配置的用戶下。

使用這兩位信息,您應該能夠計算出用戶是否已登錄,如果沒有,則使用ASP自動將其登錄到帳戶下。彈出窗口不再顯示。

希望這有助於

埃裏克

CNC中抱歉,我才意識到我可能誤解了你的問題...認證應該由IIS當你的用戶登錄到Windows和「綜合處理Windows身份驗證「在」目錄安全性「下的IIS設置中進行檢查。您是否嘗試過檢查這個複選框和匿名訪問權限,但是拒絕對您的內部網站的IUSR_ [machinename]文件夾執行READ訪問? 這應該防止匿名用戶訪問,並允許Windows用戶通過。 在對一個站點的根目錄中的權限進行調整之前,先對其中一個內部站點的子文件夾進行測試,這種做法最簡單。

0

這倒給瀏覽器。您想要的是瀏覽器嘗試使用當前用戶憑據登錄。在IE中,這是它標識爲在「Intranet Zone」中的站點的默認行爲。因此,使用組策略來確保域中的計算機具有將內部網站添加到所有客戶機Intranet站點列表的方法。

其他瀏覽器還有一個機制來列出當前用戶憑據可能用於滿足來自服務器的登錄challange的站點。

1

這對我很有幫助。我明確發現它不適合我的原因是有一個「。」。在域名中。這使得該網站不被視爲內聯網站點。