none
現有登入者非AD成員如何Popup登入視窗? RRS feed

  • 問題

  • 請教各位先進:

    AD 是 Windows 2000 Server
    IIS 是架在 Windows Server 2003 (已加入網域),架設 VB.NET 2.0 開發的 ASP.NET 含 AJAX 網站
    用戶端是 Windows XP Professional、Windows Server 2003、Vista
    網站根目錄 NTFS 安全性,允許 Everyone、 Domain Users、網際網路Guests 都有讀取及執行權限(其他預設的都有,不詳列),IIS 設定整合式 windows 驗證和摘要式 Windows 伺服器驗證,預設網域和範圍也都設定正確,Server 2003 使用 AD 的  Administrator 帳密登入電腦,網站 Web.config 驗證方式採預設值(Windows)。

    使用者的要求是,如果用戶端登入電腦的帳密已存在 AD 中,在存取網站時就不需要再登入,反之,應彈出 Windows  登入視窗。(要求:單一登入)

    我第一個做法是透過 BasePage 的 Page_InitCompleted 事件進行 AD 驗證,確實可行,不過如果驗證不通過,該怎麼在使用者畫面中跳出 Windows 的登入對話方塊(不是我們自己寫的 ASPX 頁面喔!)

    第二個做法是直接設定 IIS 的驗證方式,取消匿名,改用整合式 Windows 驗證,但是這個做法每次開網站時,一定會先 Popup 登入視窗,不會自動抓用戶端的登入資料去驗證,而且驗證中心是 IIS 本機使用者。

    第三個做法同樣是改 IIS 驗證方式,取消匿名,改用摘要式 Windows 網域伺服器驗證,這個方法除了每次開網站會跳出登入視窗,還必須輸入「網域名稱\帳號」才能順利登入。

    第四個做法是同時採用上述兩種驗證方式,但是結局一樣,不管如何都會跳出登入視窗....

    問題總結就是:
    如果要透過程式去跟 AD 驗證(這個我已做完),但是我不知道如何讓未驗證的使用者畫面中跳出 Windows 的登入對話方塊。
    如果要透過 IIS 的 設定來控制,卻每次開網站就會要求登入,不但不能單一登入,還得輸入網址名稱\帳號,這樣使用者不願接受...

    到底該怎麼辦呢?這問題我已經研究三天了...求救啊.... @@

    PS. 為了減少變因,現在我測試都直接在 Server 2003 上(也就是 IIS Server,已加入網域,且用 AD 的 Administrator 帳密登入電腦),直接開 IE 進行測試,但是仍然是上述的狀況。

    2008年10月13日 上午 07:44

解答

  • 經高手指點,我的設定都正確,除了:

    要把網站加到「近端內部網站」,而不是信任的網站。
    然後設定近端內部網站自動登入,即可完成單一登入的目標。
    2008年10月20日 上午 07:17

所有回覆