1. 程式人生 > >訪問網站時需要密碼

訪問網站時需要密碼

問題描述:本地iis部署網站後,訪問此網站是,彈出對話方塊,需要輸入使用者名稱密碼。
      原因:共同開發時,把網站專案目錄下的某幾個檔案共享,此時如果有其他人修改頁面。在共享的時候設定資料夾屬性--->安全的時候添加了guest使用者。
問題解決辦法:刪除此資料夾安全屬性中的guest使用者。

以下為延伸:

­通用解決方案:

訪問的網頁檔案本身加了密。比如"預設Web站點"原主目錄"X:/Inetpub/wwwroot"下的首頁檔案"iisstart.asp"訪問時就需要密碼。

沒有設定允許匿名訪問。在"Internet資訊伺服器"中,檢視在該站點的屬性配置項下的"目錄安全性"中是否設定好下面的允許"匿名訪問"這一項,並且其下"編輯"中"匿名使用者賬號"中"使用者名稱"一項應為"IUSR_computer"(其中"computer"為計算機名)的格式;另外,還需要已勾選中"允許IIS控制密碼"一項。

目標目錄被限制了訪問許可權。此項僅當該目錄位於NTFS格式分割槽中時才可能出現。方法:在其上單擊右鍵,選"屬性",再進入"安全"視窗,看列表中是不是預設的允許"Everyone"組完全控制的狀態。

另外方案:

HTTP 錯誤 401.3 - 未經授權:訪問由於 ACL 對所請求資源的設定被拒絕

在配置IIS的時候,如果安全稍微做的好一些。就會出現各式各樣的問題。比如,常見的訪問網頁會彈出使用者名稱密碼的登陸介面,或者是訪問某種頁面比如html,asp沒事情,但是訪問jsp或者php就有問題,顯示401.3 ACL 禁止訪問資源等

  通常的解決辦法是。   

     第一,看iis中(不管iis5 還是iis6)  ,網站或者目錄,包括虛擬目錄的屬性,看目錄安全性選項卡中的 編輯匿名訪問和身份驗證控制,看看是用的哪個帳號,如果是用的iis匿名帳號(一般是IUSR_機器名),或者由系統管理員設定了其他帳號,這個帳號很重要,下面成IIS匿名帳號 察看帳號的密碼是否是正確的系統設定的密碼,實在不行就在計算機管理裡面的使用者管理,重新把帳號設定一個密碼,然後在編輯匿名訪問和身份驗證控制選項中把密碼重新設定一下。

     第二。在資源管理器裡面看放置網站或者目錄的安全選項。是否IIS匿名帳號有許可權訪問,一般來說,NT系統中的IUSR_機器名這個帳號都會是在user組裡面,有時候禁用了user組,也會引起這個問題,讓剛才設定的IIS匿名帳號或者帳號所在的系統組有對目錄的訪問許可權,至少要有讀許可權。

     第三,在你放置的程式中,看是否含有其他型別的動態語言寫的程式,IIS會預設對asp進行解釋,對於ASPX來說,要看net執行檔案目錄是否讓IIS匿名帳號有讀許可權? cgi程式就是perl目錄,jsp看是用resin還是用tomcat做的解釋,php就是php目錄,要保證這些目錄都讓IIS匿名帳號有讀許可權才行。

    通過以上設定,基本上沒有什麼問題了,遇到這樣的問題,重新安裝IIS也沒有用,慢慢查原因吧。在NT環境下的web server出問題,大部分是因為許可權 還有組策略的影響。只要確定這兩個部分沒問題。那基本上就不會出現問題了。

­這種方法有網友評論:

      你的問題沒有解決,你解決問題的方法不對,把匿名帳戶IUSR-machina name加入IIS所在的本機的USER組裡會帶來嚴重的安全問題,請不要相信那篇文章,請謹慎對待網上找到的所謂解決方法。

        從你說的情況看,應該是NTFS檔案系統的本地安全問題引起的。從本質上說,IIS網站中網頁的訪問許可權都是通過相應資料夾及檔案的NTFS本地安全設定來實現的,請仔細檢查涉及到的相關資料夾及檔案的NTFS本地安全設定,有時候可能就是一個檔案的安全設定不當就會造成彈出使用者名稱密碼的登陸介面。

本文中我遇到的問題正好證實了此網友的說法的正確性,"有時候可能就是一個檔案的安全設定不當就會造成彈出使用者名稱密碼的登陸介面"。

共享小技巧:

2003下共享資料夾,需要在本地策略---》安全選項---》網路訪問:本地帳戶的共享和安全模式設定為:僅來賓-本地使用者以來賓身份驗證 設定為:經典-本地使用者以自己的身份驗證。