SQL Server 2005中設定Reporting Services釋出web報表的匿名訪問
整合到SQL Server 2005中的Reporting Services已經將報表模板釋出到IIS伺服器,客戶端通過瀏覽器訪問時,預設會彈出Windows整合身份驗證的對話方塊。如果在IIS配置裡面把允許匿名(IUSR_**)訪問的選項勾選,客戶端再次訪問的時候,會提示IUSR_** 訪問許可權不足。
對於這個問題,除了要設定IIS允許匿名訪問外,還需要設定Reporting Services站點的訪問許可權和SQL Server中資料來源的使用者訪問許可權。
下面我將把需要做的步驟列出來,大家注意前提是使用Visual Studio .NET 2005 已經正確的釋出了Reporting Services製作的報表模板到IIS伺服器。
第一步:在執行IIS的Web伺服器的本地訪問http://localhost/reports ,這是Reporting Services的管理站點,在Properties(屬性)頁面下新增一個只有Browser(瀏覽者)許可權的新Role(角色)。注意新角色的使用者名稱稱即IUSR_** (匿名使用者)。
1、 點選“New Role Assignment”(分配新角色)
2、 彈出的IE視窗中,Group or user name(組或使用者名稱) 文字框輸入IUSR_** (匿名使用者)。
3、 勾選Browser(瀏覽者)許可權,點OK按鈕確定。
4、 返回到http://localhost/reports 頁面中會新出現新增的Role(角色)。
第二步:除了要設定Reporting Services的IIS站點能允許IUSR_**(匿名使用者)訪問外,首先需要設定SQL Server 2005 中相應的資料庫能允許IUSR_**(匿名使用者)有隻讀的訪問許可權。
在執行SQL Servier 2005 的資料庫伺服器中,開啟Microsoft SQL Server Management Studio。在Object Explorer(物件瀏覽器)中找到Security(安全)目錄下的Logins(登入),在Logins(登入)圖示上面單擊右鍵快捷選單上,選擇New Login…(新登入),彈出的對話方塊中設定。
1、 右鍵選單選擇New Login…(新登入)。
2、 在Windows authentication 中的Login Name(登入名)文字框,輸入IUSR_**(匿名使用者)。
3、 在Defaults(預設)的Database(資料庫)下拉選單框找到Reporting Services製作的報表模板的資料來源資料庫。
4、 在Select a page(選擇一個頁面)列表中點選“Database Access”(資料庫訪問)。 第三步:在Data Access頁面中,在Databases accessible by this login(資料庫預設登入)選擇Reporting Services製作的報表模板的資料來源資料庫。
1、 選擇資料庫
2、 OK確定
第四步:還是在Microsoft SQL Server Management Studio中,找到Reporting Services的資料來源資料庫,在“Security”(安全)下的“Users”(使用者)下,找到剛才新增的IUSR_**(匿名使用者)。設定他對該資料庫的訪問許可權。
1、 在IUSR_**(匿名使用者)上右鍵選單選Properties(屬性)。
2、 彈出的對話方塊中選擇Permissions(許可)。
3、 點選“Add Objects…”(增加物件)。
4、 再次彈出的對話方塊中選擇“Add objects of types”。
還是第四步:彈出的對話方塊中選Databases(資料庫的)。
1、 Select Object Types(選擇物件型別)對話方塊選擇“Databases”(資料庫的)。
2、 OK確定。
還是第四步:選擇IUSR_**(匿名使用者)對該資料庫許可的操作。
1、 在Permissions for *** 列表中,找到Select,勾選。(注:你會看到Connect後面是預設勾選的,因為前面設定的預設登入到資料庫就是該資料庫)
2、 OK確定。
第五步:開啟IIS管理器,設定ReportServer虛擬目錄為匿名訪問。
1、 開啟IIS管理器,在ReportServer虛擬目錄上單擊郵件選擇“Properties”(屬性)。
2、 在“目錄安全性”頁面,找到“身份驗證和訪問控制”,點選“編輯...”。
3、 在彈出的“身份驗證方法”對話方塊,勾選“啟用匿名訪問”。
4、 在“使用者訪問需經過身份驗證”的位置,預設是選中“整合Windows身份驗證”。在這兒可以不用修改它。如果去掉了“整合Windows身份驗證”前面的勾選,則本機(IIS伺服器所在機器)對Reporting Services Web站點的訪問也成了匿名訪問。
5、 OK確定。
第六步:再通過其他的客戶端機器訪問Reporting Services Web站點,則不再出現Windows使用者登入視窗。對Reporting Services Web站點的訪問已經更改為匿名使用者的訪問。
但是注意,有個問題會同時出現。我們再次訪問http://localhost/reports 時發現,將不能對Reporting Services的許可權分配。開啟http://localhost/reports 能夠看到的是隻有Contents(內容)一個分類頁面的選項,“Properties”(屬性)選項則不會出現了。這該是Reporting Services產品刻意設計的,因為所有的使用者都可以匿名訪問Web站點了,許可權如果放開了隨便改肯定不行。
再一想,http://localhost/reports 和 http://localhost/reportserver 這兩個虛擬目錄對應的物理目錄是不同的。一個http://localhost/reports 對應的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager ;而http://localhost/reportserver 對應的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer。剛才對\reportserver的匿名訪問許可權的修改又怎麼影響到\reports 了呢??
如果再需要修改\reports的“Properties”(屬性),唯一能做的就是重新開啟IIS的管理器,去掉\reportserver中的“匿名訪問”選項,再來修改。修改後,再將\reportserver改為“匿名訪問”。
對於這個問題,除了要設定IIS允許匿名訪問外,還需要設定Reporting Services站點的訪問許可權和SQL Server中資料來源的使用者訪問許可權。
下面我將把需要做的步驟列出來,大家注意前提是使用Visual Studio .NET 2005 已經正確的釋出了Reporting Services製作的報表模板到IIS伺服器。
第一步:在執行IIS的Web伺服器的本地訪問http://localhost/reports ,這是Reporting Services的管理站點,在Properties(屬性)頁面下新增一個只有Browser(瀏覽者)許可權的新Role(角色)。注意新角色的使用者名稱稱即IUSR_** (匿名使用者)。
1、 點選“New Role Assignment”(分配新角色)
2、 彈出的IE視窗中,Group or user name(組或使用者名稱) 文字框輸入IUSR_** (匿名使用者)。
3、 勾選Browser(瀏覽者)許可權,點OK按鈕確定。
4、 返回到http://localhost/reports 頁面中會新出現新增的Role(角色)。
第二步:除了要設定Reporting Services的IIS站點能允許IUSR_**(匿名使用者)訪問外,首先需要設定SQL Server 2005 中相應的資料庫能允許IUSR_**(匿名使用者)有隻讀的訪問許可權。
在執行SQL Servier 2005 的資料庫伺服器中,開啟Microsoft SQL Server Management Studio。在Object Explorer(物件瀏覽器)中找到Security(安全)目錄下的Logins(登入),在Logins(登入)圖示上面單擊右鍵快捷選單上,選擇New Login…(新登入),彈出的對話方塊中設定。
1、 右鍵選單選擇New Login…(新登入)。
2、 在Windows authentication 中的Login Name(登入名)文字框,輸入IUSR_**(匿名使用者)。
3、 在Defaults(預設)的Database(資料庫)下拉選單框找到Reporting Services製作的報表模板的資料來源資料庫。
4、 在Select a page(選擇一個頁面)列表中點選“Database Access”(資料庫訪問)。 第三步:在Data Access頁面中,在Databases accessible by this login(資料庫預設登入)選擇Reporting Services製作的報表模板的資料來源資料庫。
1、 選擇資料庫
2、 OK確定
第四步:還是在Microsoft SQL Server Management Studio中,找到Reporting Services的資料來源資料庫,在“Security”(安全)下的“Users”(使用者)下,找到剛才新增的IUSR_**(匿名使用者)。設定他對該資料庫的訪問許可權。
1、 在IUSR_**(匿名使用者)上右鍵選單選Properties(屬性)。
2、 彈出的對話方塊中選擇Permissions(許可)。
3、 點選“Add Objects…”(增加物件)。
4、 再次彈出的對話方塊中選擇“Add objects of types”。
還是第四步:彈出的對話方塊中選Databases(資料庫的)。
1、 Select Object Types(選擇物件型別)對話方塊選擇“Databases”(資料庫的)。
2、 OK確定。
還是第四步:選擇IUSR_**(匿名使用者)對該資料庫許可的操作。
1、 在Permissions for *** 列表中,找到Select,勾選。(注:你會看到Connect後面是預設勾選的,因為前面設定的預設登入到資料庫就是該資料庫)
2、 OK確定。
第五步:開啟IIS管理器,設定ReportServer虛擬目錄為匿名訪問。
1、 開啟IIS管理器,在ReportServer虛擬目錄上單擊郵件選擇“Properties”(屬性)。
2、 在“目錄安全性”頁面,找到“身份驗證和訪問控制”,點選“編輯...”。
3、 在彈出的“身份驗證方法”對話方塊,勾選“啟用匿名訪問”。
4、 在“使用者訪問需經過身份驗證”的位置,預設是選中“整合Windows身份驗證”。在這兒可以不用修改它。如果去掉了“整合Windows身份驗證”前面的勾選,則本機(IIS伺服器所在機器)對Reporting Services Web站點的訪問也成了匿名訪問。
5、 OK確定。
第六步:再通過其他的客戶端機器訪問Reporting Services Web站點,則不再出現Windows使用者登入視窗。對Reporting Services Web站點的訪問已經更改為匿名使用者的訪問。
但是注意,有個問題會同時出現。我們再次訪問http://localhost/reports 時發現,將不能對Reporting Services的許可權分配。開啟http://localhost/reports 能夠看到的是隻有Contents(內容)一個分類頁面的選項,“Properties”(屬性)選項則不會出現了。這該是Reporting Services產品刻意設計的,因為所有的使用者都可以匿名訪問Web站點了,許可權如果放開了隨便改肯定不行。
再一想,http://localhost/reports 和 http://localhost/reportserver 這兩個虛擬目錄對應的物理目錄是不同的。一個http://localhost/reports 對應的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager ;而http://localhost/reportserver 對應的是C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer。剛才對\reportserver的匿名訪問許可權的修改又怎麼影響到\reports 了呢??
如果再需要修改\reports的“Properties”(屬性),唯一能做的就是重新開啟IIS的管理器,去掉\reportserver中的“匿名訪問”選項,再來修改。修改後,再將\reportserver改為“匿名訪問”。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-553571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 2008 Reporting Services實現匿名訪問報表SQLServer
- [轉]Reporting Services報表服務中的程式設計程式設計
- 程式碼匯出Reporting Services報表檔案
- Reporting Services 擴充套件裝置資訊設定套件
- 匯出Sql server 2005資料庫中某表的資料SQLServer資料庫
- 在Oracle裡設定訪問多個SQL Server(轉)OracleSQLServer
- SQL Server 2005 管理併發資料訪問[zt]SQLServer
- 解決SQL Server 2005中鎖的問題SQLServer
- Microsoft Sql Server 2017 Reporting Services 不支援安裝在DC上ROSSQLServer
- SQL Server Reporting Services:無法檢索應用程式檔案。部署中的檔案已損壞SQLServer
- SQL Server 2005 Express混合模式登入設定SQLServerExpress模式
- 設定SQL Server 2005 Express混合模式登入SQLServerExpress模式
- SQL Server 2005裡設定自增欄位SQLServer
- SQL Server 2005鎖的問題SQLServer
- SQL Server 2005中修改 Server Collation的方法SQLServer
- 在SQL Server 2005中實現表的行列轉換SQLServer
- SQL Server 2005 中的分割槽表和索引應用SQLServer索引
- SQL Server 2005中各個系統表的作用(轉)SQLServer
- SQL Server的安全設定問題解答SQLServer
- 在SSRS 2008實現匿名訪問報表PD
- 資料倉儲—ETL—Microsoft SQL Server 2005 Integration Services 介紹ROSSQLServer
- SQL SERVER 2005表分割槽功能SQLServer
- SQL Server 2005中的UDF(使用者定義函式)SQLServer函式
- SQL Server 2005快速Web分頁的實現SQLServerWeb
- SQL Server 2005映象設定常見錯誤處理SQLServer
- SQL Server 2008中Analysis Services的新特性SQLServer
- SQL Server 2005分割槽表例項SQLServer
- 專家訪談:有關SQL Server 2005 CLRSQLServer
- Sql server 2005中output用法解析SQLServer
- SQL Server 統計報表(不斷收藏中)SQLServer
- SQL Server建立Linked Server訪問OracleSQLServerOracle
- jboss設定web應用的訪問路徑,即直接域名+埠訪問Web
- Microsoft SQL Server 2005 中的國際功能ROSSQLServer
- Sql Server在.net中的資料訪問輔助類SQLServer
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- 從Oracle訪問SQL Server(GATEWAYS)OracleSQLServerGateway
- PHP中如何設定error_reporting錯誤報告級別PHPError
- 不同網段sql server 2005 連線 sql server 2000的問題SQLServer