天天看點

SharePoint 爬網權限被拒絕

既然上一篇講到了 SharePoint 的 search 搜尋應用服務,我回去翻了一翻之前的OneNote的筆記,也找到一篇關于搜尋應用的故障問題,一并分享給大家。

今天分享的這個是一個小問題,爬網權限被拒絕,如下圖

<a href="http://s3.51cto.com/wyfs02/M01/8E/9C/wKiom1jHSKbC_EbtAACf3mCGcEs452.png" target="_blank"></a>

其實最早遇到這個問題是因為發現我們使用SharePoint 的搜尋功能無法搜尋出“确定存在”的一個檔案,然後我們首先檢查的依然是 sharepoint search application service

確定這兩項伺服器是啟動的狀态。

<a href="http://s3.51cto.com/wyfs02/M01/8E/9B/wKioL1jHSKehIa0sAAJfutrUQQc696.png" target="_blank"></a>

然後登陸SharePoint 管理控制台來檢視應用服務

<a href="http://s3.51cto.com/wyfs02/M02/8E/9C/wKiom1jHSKmAP-eYAAFM29RIKTA877.png" target="_blank"></a>

檢查一下 Search Service Application 是否是啟動狀态。

<a href="http://s3.51cto.com/wyfs02/M02/8E/9C/wKiom1jHSKvTRQlbAAEaU7F_TFo626.png" target="_blank"></a>

點選 search service application 進入到 search 首頁。從首頁中我們并沒有看出有多大的問題

<a href="http://s3.51cto.com/wyfs02/M00/8E/9C/wKiom1jHSKyBiJQNAADZv55tMLQ275.png" target="_blank"></a>

檢查 搜尋應用 拓撲的狀态,也沒問題。

<a href="http://s3.51cto.com/wyfs02/M00/8E/9B/wKioL1jHSK6S51A9AAC6iB0CE5M784.png" target="_blank"></a>

這個時候記得選擇右邊的的 爬網日志  Crawl Log來進行檢視

看到下面有一條記錄提示權限被拒絕。

<a href="http://s3.51cto.com/wyfs02/M01/8E/9C/wKiom1jHSK-hTHbNAACf3mCGcEs700.png" target="_blank"></a>

我們先檢查一下我們的 預設賬号是否有問題,如果确信沒問題,我們就使大招了。

<a href="http://s3.51cto.com/wyfs02/M02/8E/9C/wKiom1jHSLDhSkfhAADS0aE-aSU990.png" target="_blank"></a>

其實這個辦法并不是微軟推薦的解決辦法,因為我現在也沒找到更好的一個解決辦法,但是至少它是管用的。

這個辦法就是禁用 回環檢查 loopcheck

其實Loopback Check本來不是一個SharePoint問題,是Windows Server為了增強自身安全性在Server 2003 SP1後引入的一個功能。

如果要解決上述問題,其實通過修改系統資料庫檔案可以實作。這裡我查閱了一下,修改系統資料庫有兩種方法,這裡我想講一下我采用的其中一種方法吧

首先在開始運作中輸入 regedit.exe 打開系統資料庫

<a href="http://s3.51cto.com/wyfs02/M00/8E/9C/wKiom1jHSLGw-xe-AAA2EE1jE7c651.png" target="_blank"></a>

定位到 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa"

并且右鍵,建立一個 32位的 Dword值

<a href="http://s3.51cto.com/wyfs02/M01/8E/9C/wKiom1jHSLLhp8ZzAALiRfRuxEQ192.png" target="_blank"></a>

Value Name 輸入 DisableLoopbackCheck ,不要輸錯哦,值輸入 1

<a href="http://s3.51cto.com/wyfs02/M02/8E/9C/wKiom1jHSLOAnUkpAAAmNIhmBD0778.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/8E/9B/wKioL1jHSLTi_CgSAAC7uOGWbuk325.png" target="_blank"></a>

之後關閉系統資料庫,重新嘗試爬網,問題得到解決!

但是上述這個方法并不是微軟推薦的一個辦法,我還查到另外一個修改系統資料庫的方法,一并發出來,大家可以參考一下。

但是這個辦法我自己沒有測試過,如果有興緻的小夥伴可以試一試哈。

------------------------------------------分割線--------------------------------------------------------------------------------

    指定的主機名的映射到環回位址,并可以連接配接到 Web 站點在您的計算機上,請按照下列步驟操作:

設定

DisableStrictNameChecking為 1 的系統資料庫項。

單擊開始,單擊運作,鍵入regedit,然後單擊确定

在系統資料庫編輯器中,找到并單擊以下系統資料庫項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

用滑鼠右鍵單擊MSV1_0,指向建立,然後單擊多字元串值。

鍵入BackConnectionHostNames,,然後按 enter 鍵。

用滑鼠右鍵單擊BackConnectionHostNames,然後再單擊修改。

在數值資料框中,鍵入主機名或主機名的網站是在本地計算機上,然後單擊确定。

退出系統資料庫編輯器,然後重新啟動 IIS 服務,再進行嘗試

     本文轉自horse87 51CTO部落格,原文連結:http://blog.51cto.com/horse87/1906169,如需轉載請自行聯系原作者

繼續閱讀