最近在windows server2008 r2+sql server 2008 express r2+iis7.0上部署rdl報表過程遇見了一下問題,如圖所示:
通過錯誤提示資訊顯示為'nt authority\iusr' 登入失敗 說的是無法訪問資料庫,這樣的話你就要把 nt authority\iusr這個使用者新增到你的資料庫中,在此之前還要新增到administrator組。
如下:第一步:把'nt authority\iusr新增到administrator組中
我的電腦-->右鍵-->管理-->本地使用者和組
選擇「組」-->雙擊administrators-->單擊「新增」-->單擊「高階」-->單擊「立即查詢」-->在下面的列表中選擇iusr使用者-->兩次單擊「確定」-->加入。
第二步 在企業管理器中加入iusr使用者
開啟sql server企業管理器-->選擇資料庫例項-->開啟「安全性」節點-->選擇「登入」-->在右邊的列表中單擊右鍵-->選擇「新建登入」-->在名稱中直接複製 nt authority\iusr ,域會自動填好的,改下資料庫位置,單擊「確定」,返回「新建登入」對話方塊-->保證身份驗證型別為「windows驗證」和「允許訪問」-->單擊「確定」-->關閉「企業管理器」。
第三步在reportingservice伺服器的主資料夾新增iusr該使用者為瀏覽許可權的使用者。
第四步重新執行asp.net程式,資料庫連線字串選擇windows驗證即可,若你還看到進一步錯誤如無法訪問資料庫或某個表的話,再在該資料庫內建立nt authority\iusr 這個使用者,授權所有許可權,我就是這樣連好的。
以上四步為常規做法,如果設定了仍然不行請返回所部署web對應iis的的應程式池部分,將你所部署web對應的應用程式池的「標識」設定為「localsystem」,重啟web,瀏覽正常情況下就可正常瀏覽你所部署的報表頁面。如果在這裡仍然顯示上圖中的錯誤提示資訊,請做以下幾步檢查:
1.確保iis安裝的完整性和正確性;
2.確保.netfreamwork版本與當前系統安裝的匹配否,安裝的正確性和完整性;
3.確保所安裝資料庫的完整性和正確性;
4.reportviewer的正確性;
確保每乙個過程的正確性和完整性我相信你會成功的。
在這裡我附屬摘錄了一些關於iis應用程式池的集中許可權的詳解,在你部署web專案的時候是需要做一了解的:
1.local system (本地系統):
該賬戶具有相當高的許可權。
首先,該賬戶也隸屬於本地administrators 使用者組,因此所有本地administrators使用者能夠進行的操作該賬戶也能夠進行,
其次,該賬戶還能夠控制檔案的許可權(ntfs 檔案系統)和登錄檔許可權,甚至佔據所有者許可權來取得訪問資格。
如果機器處於域中,那麼執行於local system 賬戶下的服務還可以使用機器賬戶在同乙個森林中得到其他機器的自動認證,
最後一點就是執行於local system 下的程序能夠使用空會話(null session)去訪問網路資源。
而且,其他一些windows 使用者模式下的核心元件也執行於該賬戶下,例如system32\smss.exe 等。
需要注意的是,執行於此賬戶下的程序使用的是hkey_users\.default 賬戶配置,因此它不能夠訪問其他賬戶的配置。
舉例來說,以localsystem賬戶執行的服務主要有:windowsupdate client、 clipbook、com+、dhcp client、messenger
service、task scheduler、server service、workstation service,還有windows installer。
2.network service(網路服務):
該賬戶也是為了使用機器賬戶在網路上的其他計算機上認證而設定的。但是他沒有local system 那麼多的許可權。
它能夠以計算機的名義訪問網路資源。以這個賬戶執行的服務會根據實際環境把訪問憑據提交給遠端的計算機。
執行於此賬戶下的程序使用網路賬戶配置檔案hkey_users\s-1-5-20和documents and settings\networkservice。
舉例來說,以network service賬戶執行的服務主要有:distributed transaction coordinator、dns client、
performance logs and alerts,還有rpc locator。
3.local service(本地服務):
local service賬戶是預設的擁有最小許可權的本地賬戶,並在網路憑證中具有匿名的身份。
執行於此賬戶下的程序和執行於network service 賬戶下的程序的區別
在於執行於local service 賬戶下的程序只能訪問允許匿名訪問的網路資源。
執行於local service 下的賬戶使用的配置檔案是hku\s-1-5-19 和documents and settings\localservice。
舉例來說,以local service賬戶執行的服務主要有:alerter、remote registry、smart card、ssdp,還有webclient。
iis 和內建帳戶
以下是 iis 使用的內建帳戶、iis 特定的帳戶及其關聯的使用者許可權的列表。
本地系統
內建帳戶,該帳戶具有較高的訪問許可權級別。如果工作程序標識作為「本地系統」帳戶執行,則該工作程序具有整個系統的完全訪問許可權。
網路服務
內建帳戶,該帳戶的系統訪問許可權比「本地系統」帳戶少,但仍能通過網路與計算機帳戶的憑據進行互動。對於 iis 6.0,建議以「網路服務」帳戶的身份執行為應用程式池定義的工作程序標識。預設情況下,該工作程序標識以「網路服務」帳戶的身份執行。
預設使用者許可權:
本地服務
內建帳戶,該帳戶的計算機訪問許可權比「網路服務」帳戶少,並且該帳戶的使用者許可權僅限於本地計算機。如果工作程序不需要訪問所在伺服器之外的地方,則可以使用「本地服務」帳戶。
預設使用者許可權:
iis_wpg
iis 組帳戶,只給該帳戶指派了在 web 伺服器上啟動和執行工作程序所需的最低許可權和使用者許可權。
預設使用者許可權:
iusr_computername
具有 iis 匿名訪問許可權的 iis 帳戶。預設情況下,當使用者訪問乙個設定為匿名驗證的**時,就會將該使用者對映到 iusr_comptername 帳戶。使用者具有與該帳戶完全相同的使用者許可權。
預設使用者許可權:
iwam_computername
可在 iis 5.0 隔離模式下啟動程序外應用程式的 iis 帳戶。
預設使用者許可權:
aspnet
用於在 iis 5.0 隔離模式下執行 microsoft asp.net 工作程序的內建帳戶。
預設使用者許可權:
什麼是IIS應用程式池以及應用程式池詳解 二)
一起來 看看有關應用程式池的一些問題。應用程式池的 屬性 對話方塊有四頁 效能,執行狀況,標識,如圖六所示。在這些選項頁中,最引人注目的恐怕就是 頁,使用該選項頁可以管理工作程序的 在工作程序隔離模式中,iis可以配置成定期重新啟動應用程式池中的工作程序,從而更好地管理那些 的工作進 程。這確保了池...
IIS應用程式池監控
最近發現公司執行的web 應用程式池會突然停止,做的負載均衡 路由負載 又無法監測到iis應用程式池的情況,就想著通過某一種監控方式監測iis應用程式池的情況,如果處關閉狀態則立刻重新啟動.所說的iis應用程式池監控也只能算是偽監控,不喜勿噴.執行 winform windows計畫任務 1.首先獲...
iis應用程式池假死問題
iis貌似問題不少 問 iis 併發連線線不多,但是執行一段時間後 就非常慢,系統資源占用都正常,一 應用程式池就又好了。諮詢下,如何解決呢?答 需要開發除錯 程式,除去bug。對於iis建議使用win10,或win2016伺服器版。只有它才支援http 2.0,傳輸資料更快。16 14 40 帥 ...