如何:在 Reporting Services 中設定自訂或表單驗證

Reporting Services 提供可延伸的架構,可以讓您插入自訂或表單型驗證延伸模組。如果部署需求不包含 Windows 整合式安全性或基本驗證,您可能會考慮實作自訂驗證延伸模組。使用自訂驗證最常見的狀況是支援網際網路或外部網路對 Web 應用程式的存取。以自訂的驗證延伸模組取代預設的 Windows 驗證延伸模組時,可讓您進一步控制如何授與外部使用者存取報表伺服器的權限。

實際上,部署自訂驗證延伸模組所需的多個步驟包括複製組件和應用程式檔案、修改組態檔,以及測試。本主題只著重於您在組態檔中所指定的驗證設定。

[!附註]

建立自訂驗證延伸模組時,需要自訂的程式碼和 ASP.NET 安全性的專業知識。如果您不想要建立自訂驗證延伸模組,可以使用 Microsoft Active Directory 群組與帳戶,但必須大幅縮減報表伺服器部署的範圍。如需有關自訂驗證的詳細資訊,請參閱<實作安全性延伸模組>。

此外,如果想要在與 SharePoint 產品整合的 Reporting Services 環境中,使用表單驗證或自訂驗證延伸模組,必須將 SharePoint 網站設定為使用您選擇的驗證方法。如需有關在 SharePoint 中設定驗證的詳細資訊,請參閱 Microsoft Developer Network (MSDN) 上的<驗證範例>。

警告注意事項注意

表單提供者負責減輕暴力安全性攻擊,在伺服器受到不良影響之前,惡意使用者會對端點進行頻繁而且重複的呼叫來進行攻擊。減輕這種安全性威脅的常見方法是,表單提供者在登入錯誤特定嘗試次數之後,實作鎖定帳戶的功能。Windows 整合式安全性透過網域的鎖定原則,擁有鎖定支援。網域鎖定原則必須由您的網域管理員設定。不過,如果使用表單驗證,則必須由表單提供者負責針對潛在威脅提供保護。

若要設定報表伺服器使用自訂驗證

  1. 在文字編輯器中開啟 RSReportServer.config。

  2. 尋找 <Authentication>。

  3. 複製下列 XML 結構:

    <Authentication>
          <AuthenticationTypes>
                 <Custom />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    
  4. 將它貼到 <Authentication> 的現有項目上。

    請注意,您無法搭配其他驗證類型使用 Custom。

  5. 儲存檔案。

  6. 開啟報表伺服器的 Web.config 檔。根據預設,它位於 \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer。

  7. 尋找 authentication mode 並將其設定為 Forms。

    <authentication mode = "Forms" />
    
  8. 尋找 identity impersonate 並將其設定為 False。

    <identity impersonate = "false" />
    
  9. 開啟報表管理員的 Web.config 檔。根據預設,它位於 \Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager。

  10. 尋找 authentication mode 並將其設定為 Forms。

    <authentication mode = "Forms" />
    
  11. 尋找 identity impersonate 並將其設定為 False。

    <identity impersonate = "false" />
    
  12. 將 PassThroughCookies 元素結構加入至組態檔中。如需詳細資訊,請參閱<啟用報表管理員傳遞自訂驗證 Cookie>。

  13. 儲存檔案。

  14. 如果您設定了向外延展部署,請針對部署中的其他報表伺服器重複先前所有的步驟。

  15. 重新啟動報表伺服器,清除目前開啟的任何工作階段。