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

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

    我第一個做法是透過 BasePage 的 Page_InitCompleted 進行 AD 驗證,確實可行,不過如果驗證不通過,該怎麼彈出登入視窗?

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

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

    請問,是否有什麼方式可以完上單一登入,驗證失敗又能跳出登入視窗呢?
    2008年10月13日 上午 03:59

解答

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

    要把網站加到「近端內部網站」,而不是信任的網站。
    然後設定近端內部網站自動登入,即可完成單一登入的目標。

    獅子
    • 已標示為解答 Leo Shih 2010年5月13日 上午 06:35
    2010年5月13日 上午 06:35

所有回覆

  • 你如果 Client 與 Server 共用一個 AD 的話,使用 Windows 驗證應該不會出現登入視窗吧!

     

    另外,驗證失敗為何一定要「跳出登入視窗」呢?建議可以直接轉址到另一個獨立的登入頁,因為若使用 JavaScript 跳新視窗的話很容易就被 Browser 給擋住!

     

    ----
    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享

    2008年10月13日 上午 05:29
  • 非常謝謝您的回覆,不過尚未能解決我的困擾 ^^|||

    一、當然是共用一個 AD,同一個網域啊!如果連這點我都沒做到,來問會被當小白吧。但是就是會跳出登入視窗,我也很疑惑。

    我甚至試著直接從 IIS 的機器上開網站(本身登入者是AD 的  Users 成員),還是會跳出 windows 的要求登入視窗。

    二 、至於為什麼要跳出登入視窗,使用者要求的。而且要求的是 Windows 本身的登入視窗,不是我們用 ASPX 做的登入頁。

    這是公司內部系統,不是給一般 Internet 使用的網站。

    有人說更新 Service Pack 會 OK,我再試試。
    2008年10月13日 上午 05:50
  • 2000 和 2003 都更新完了還是不行。(不過 2000 現在是 SP3)

    目前環境及狀況是:

    網站根目錄 NTFS 安全性,允許 Everyone、 Domain Users、網際網路Guests 都有讀取及執行權限(其他預設的都有,不詳列),IIS 設定整合式 windows 驗證和摘要式 Windows 伺服器驗證,預設網域和範圍也都設定正確,Server 2003 使用 AD 的  Administrator 帳密登入電腦,網站 Web.config 驗證方式採預設值(Windows),但是只要開啟網站,仍然會跳出要求登入的視窗,而且如果要使用 AD 的 User 帳密,則必須輸入「網址名稱\帳號」。

    PS. 為了減少變因,現在我測試都直接在 Server 2003 上(也就是 IIS Server)直接開 IE 進行測試。

    到底該怎麼辦呢?

    如果要透過程式去跟 AD 驗證(這個我已做完),但是我不知道如何讓未驗證的使用者畫面中跳出 Windows 的登入對話方塊(不是我們自己寫的 ASPX 頁面喔!)

    如果要透過 IIS 的 設定來控制,卻每次開網站就會要求登入,不但不能單一登入,還得輸入網址名稱\帳號,這樣使用者不願接受...

    這問題我已經研究三天了...求救啊.... @@
    2008年10月13日 上午 07:33
  • 經高手指點,我的設定都正確,除了:

    要把網站加到「近端內部網站」,而不是信任的網站。
    然後設定近端內部網站自動登入,即可完成單一登入的目標。

    獅子
    • 已標示為解答 Leo Shih 2010年5月13日 上午 06:35
    2010年5月13日 上午 06:35