2012-09-04 142 views
2

方案內部和手動登錄自動登錄:窗戶和IIS 7.5匿名身份驗證,允許外部

  • HTTPS ASP IIS 7.5(Windows Server 2008中)的/ asp.net網站運行
  • 目前IIS配置爲允許匿名身份驗證和窗體身份驗證,asp.net模擬被禁用,而Windows安裝認證沒有安裝(我明白,Windows身份驗證需要爲此安裝。)
  • 內部和外部用戶的單個自定義登錄頁面

需求量的:

  • 內部用戶無縫登錄,同時捕捉他們的登錄名(窗口認證)
  • 外部用戶(不是域)應提示手動登錄

問題:

  • 可以用什麼方法來實現這個?
  • 尋找的IIS 7.5和web.config設置

途徑找到:

  1. 化妝內1個網站,winlogin和weblogin(頭版)2頁。在weblogin.aspx上允許windows auth = true和anonymous auth = false,反之亦然weblogin.aspx 用戶使用ip命中weblogin,如果ip已知重定向到winlogin以捕獲登錄並重定向到weblogin(如果ip未知)
  2. 將winlogin.aspx作爲主頁並將401錯誤重定向到weblogin.aspx
+0

有大量的企業網關解決方案可以實現這一目標,將通過表單上的外部用戶收集的用戶憑據轉換爲對IIS有效的Windows身份驗證請求。在IIS級別很難實現,但如果您使用任何產品,則很簡單。 –

回答

0

這是如何配置IIS以進行集成身份驗證的方法。

http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html

這將使可用於內網用戶你的網站沒有提示憑據。

請注意,這也適用於網絡用戶。內置的Web瀏覽器窗口作爲HTTP 401的結果顯示。用戶提供他/她的憑據並且位於。

如果您希望由於401(未授權)而顯示自定義Web表單,你不得不欺騙瀏覽器一點點:

http://www.codeproject.com/Articles/11202/Redirecting-to-custom-401-page-when-quot-Access-de

這種方式可以重定向到您選擇的網頁形式的未經授權的響應(例如,展現一個asp.net登錄表單)。

儘管可以輕鬆配置集成身份驗證,但在設置混合(集成/表單)身份驗證時需要做大量實驗。事情隨着每個IIS版本而改變;如果池處於經典vs集成模式,IIS7的行爲也會有所不同。

+0

我對401上的自定義webform感興趣,第一篇文章說關閉匿名身份驗證,第二篇文章說不要。你能澄清一下嗎?謝謝 – ssq

相關問題