簡體   English   中英

Windows 和 IIS 7.5 上的匿名身份驗證,允許內部自動登錄和外部手動登錄

[英]windows and anonymous authentication on IIS 7.5, allow auto login for internal and manual login for external

設想:

  • https asp/asp.net 網站運行 IIS 7.5 (windows server 2008)
  • IIS 當前配置為允許匿名身份驗證和表單身份驗證,在未安裝 Windows 身份驗證時禁用 asp.net 模擬(我知道需要為此安裝 Windows 身份驗證。)
  • 內部和外部用戶的單個自定義登錄頁面

要求:

  • 內部用戶在捕獲其登錄名的同時無縫登錄(窗口身份驗證)
  • 應提示外部用戶(不在域中)手動登錄

問題:

  • 可以使用什么方法來實現這一點?
  • 尋找 IIS 7.5 和 web.config 設置

發現的方法:

  1. 在 1 個網站內制作 2 個頁面,winlogin 和 weblogin(首頁)。 在winlogin.aspx 上允許windows auth=true 和anonymous auth=false 反之亦然在weblogin.aspx 用戶上,如果ip 已知,則重定向到winlogin 以捕獲登錄,如果ip 未知,則重定向到weblogin
  2. 將 winlogin.aspx 作為主頁並將 401 錯誤重定向到 weblogin.aspx

這是為集成身份驗證配置 IIS 的方法。

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

這將使您的站點可供 Intranet 用戶使用,而無需提示輸入憑據。

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

如果您更願意顯示 401(未經授權)導致的自定義 Web 表單,則必須稍微欺騙瀏覽器:

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

通過這種方式,您可以將未經授權的響應重定向到您選擇的 Web 表單(例如,顯示一個 asp.net 登錄表單)。

盡管可以輕松配置集成身份驗證,但在設置混合(集成/表單)身份驗證時,請准備好進行大量實驗。 每個版本的 IIS 都會發生變化; 如果池處於經典模式與集成模式,IIS7 的行為也會有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM