??????? 一位朋友提出個(gè)問題:集成到 SQL Server 2005 中的 Reporting Services 已經(jīng)將報(bào)表模板發(fā)布到 IIS 服務(wù)器,客戶端通過瀏覽器訪問時(shí),默認(rèn)會(huì)彈出 Windows 集成身份驗(yàn)證的對(duì)話框。如果在 IIS 配置里面把允許匿名( IUSR_** )訪問的選項(xiàng)勾選,客戶端再次訪問的時(shí)候,會(huì)提示 IUSR_** 訪問權(quán)限不足。
?
??? 對(duì)于這個(gè)問題,除了要設(shè)置 IIS 允許匿名訪問外,還需要設(shè)置 Reporting Services 站點(diǎn)的訪問權(quán)限和 SQL Server 中數(shù)據(jù)源的用戶訪問權(quán)限。
??? 下面我將把需要做的步驟列出來,大家注意前提是使用 Visual Studio .NET 2005 已經(jīng)正確的發(fā)布了 Reporting Services 制作的報(bào)表模板到 IIS 服務(wù)器。
???? 第一步:在運(yùn)行 IIS 的 Web 服務(wù)器的本地訪問 http://localhost/reports ,這是 Reporting Services 的管理站點(diǎn),在 Properties (屬性)頁面下添加一個(gè)只有 Browser (瀏覽者)權(quán)限的新 Role (角色)。注意新角色的用戶名稱即 IUSR_** (匿名用戶)。
1、 ? 點(diǎn)擊“ New Role Assignment ”(分配新角色)
2、 ? 彈出的 IE 窗口中, Group or user name (組或用戶名) 文本框輸入 IUSR_** (匿名用戶)。
3、 ? 勾選 Browser (瀏覽者)權(quán)限,點(diǎn) OK 按鈕確定。
4、
?
返回到
http://localhost/reports
頁面中會(huì)新出現(xiàn)添加的
Role
(角色)。

第二步:除了要設(shè)置 Reporting Services 的 IIS 站點(diǎn)能允許 IUSR_** (匿名用戶)訪問外,首先需要設(shè)置 SQL Server 2005 中相應(yīng)的數(shù)據(jù)庫能允許 IUSR_** (匿名用戶)有只讀的訪問權(quán)限。
?
在運(yùn)行 SQL Servier 2005 的數(shù)據(jù)庫服務(wù)器中,打開 Microsoft SQL Server Management Studio 。在 Object Explorer (對(duì)象瀏覽器)中找到 Security (安全)目錄下的 Logins (登錄),在 Logins (登錄)圖標(biāo)上面單擊右鍵快捷菜單上,選擇 New Login… (新登錄),彈出的對(duì)話框中設(shè)置。
1、 ? 右鍵菜單選擇 New Login… (新登錄)。
2、 ? 在 Windows authentication 中的 Login Name (登錄名)文本框,輸入 IUSR_** (匿名用戶)。
3、 ? 在 Defaults (默認(rèn))的 Database (數(shù)據(jù)庫)下拉列表框找到 Reporting Services 制作的報(bào)表模板的數(shù)據(jù)源數(shù)據(jù)庫。
4、
?
在
Select a page
(選擇一個(gè)頁面)列表中點(diǎn)擊“
Database Access
”(數(shù)據(jù)庫訪問)。
第三步:在
Data Access
頁面中,在
Databases accessible by this login
(數(shù)據(jù)庫默認(rèn)登錄)選擇
Reporting Services
制作的報(bào)表模板的數(shù)據(jù)源數(shù)據(jù)庫。
1、 ? 選擇數(shù)據(jù)庫
2、 ? OK 確定
?
?

?
第四步:還是在 Microsoft SQL Server Management Studio 中,找到 Reporting Services 的數(shù)據(jù)源數(shù)據(jù)庫,在“ Security ”(安全)下的“ Users ”(用戶)下,找到剛才添加的 IUSR_** (匿名用戶)。設(shè)置他對(duì)該數(shù)據(jù)庫的訪問權(quán)限。
1、 ? 在 IUSR_** (匿名用戶)上右鍵菜單選 Properties (屬性)。
2、 ? 彈出的對(duì)話框中選擇 Permissions (許可)。
3、 ? 點(diǎn)擊“ Add Objects… ”(增加對(duì)象)。
4、 ? 再次彈出的對(duì)話框中選擇“ Add objects of types ”。
?
? ? ? 還是第四步:彈出的對(duì)話框中選 Databases (數(shù)據(jù)庫的)。
1、 ? Select Object Types (選擇對(duì)象類型)對(duì)話框選擇“ Databases ”(數(shù)據(jù)庫的)。
2、 ? OK 確定。
?
? 還是第四步:選擇 IUSR_** (匿名用戶)對(duì)該數(shù)據(jù)庫許可的操作。
?
1、 ????????? 在 Permissions for *** 列表中,找到 Select ,勾選。(注:你會(huì)看到 Connect 后面是默認(rèn)勾選的,因?yàn)榍懊嬖O(shè)置的默認(rèn)登錄到數(shù)據(jù)庫就是該數(shù)據(jù)庫)
2、 ????????? OK 確定。
?
? 第五步:打開 IIS 管理器,設(shè)置 ReportServer 虛擬目錄為匿名訪問。
?
1、 ? 打開 IIS 管理器,在 ReportServer 虛擬目錄上單擊郵件選擇“ Properties ”(屬性)。
2、 ? 在“目錄安全性”頁面,找到“身份驗(yàn)證和訪問控制”,點(diǎn)擊“編輯 ... ”。
3、 ? 在彈出的“身份驗(yàn)證方法”對(duì)話框,勾選“啟用匿名訪問”。
4、 ? 在“用戶訪問需經(jīng)過身份驗(yàn)證”的位置,默認(rèn)是選中“集成 Windows 身份驗(yàn)證”。在這兒可以不用修改它。如果去掉了“集成 Windows 身份驗(yàn)證”前面的勾選,則本機(jī)( IIS 服務(wù)器所在機(jī)器)對(duì) Reporting Services Web 站點(diǎn)的訪問也成了匿名訪問。
5、 ? OK 確定。
?
? 第六步:再通過其他的客戶端機(jī)器訪問 Reporting Services Web 站點(diǎn),則不再出現(xiàn) Windows 用戶登錄窗口。對(duì) Reporting Services Web 站點(diǎn)的訪問已經(jīng)更改為匿名用戶的訪問。
?
?
?
但是注意,有個(gè)問題會(huì)同時(shí)出現(xiàn)。我們?cè)俅卧L問 http://localhost/reports 時(shí)發(fā)現(xiàn),將不能對(duì) Reporting Services 的權(quán)限分配。打開 http://localhost/reports 能夠看到的是只有 Contents (內(nèi)容)一個(gè)分類頁面的選項(xiàng),“ Properties ”(屬性)選項(xiàng)則不會(huì)出現(xiàn)了。這該是 Reporting Services 產(chǎn)品刻意設(shè)計(jì)的,因?yàn)樗械挠脩舳伎梢阅涿L問 Web 站點(diǎn)了,權(quán)限如果放開了隨便改肯定不行。
?
?
再一想, http://localhost/reports 和 http://localhost/reportserver 這兩個(gè)虛擬目錄對(duì)應(yīng)的物理目錄是不同的。一個(gè) http://localhost/reports 對(duì)應(yīng)的是 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager ;而 http://localhost/reportserver 對(duì)應(yīng)的是 C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer 。剛才對(duì) \reportserver 的匿名訪問權(quán)限的修改又怎么影響到 \reports 了呢??
如果再需要修改 \reports 的“ Properties ”(屬性),唯一能做的就是重新打開 IIS 的管理器,去掉 \reportserver 中的“匿名訪問”選項(xiàng),再來修改。修改后,再將 \reportserver 改為“匿名訪問”。
?
SQL Server 2005中設(shè)置Reporting Services發(fā)布web報(bào)表的匿名訪問
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
