這是後Reporting Services Authentication advice sought的擴展,因爲我無法在該線程上提交冗長的帖子(apologies admin)。使用Reporting Services實施Windows身份驗證
基本上,我配置了本地安裝的報告服務以使用Windows身份驗證(最終目的是在網絡上實現此身份驗證)。
我的當前設置:
IIS(5.1):我已經創建了一個名爲 「的ReportServer」 使用ASP.NET V2.0.50727的應用程序。此應用程序的安全性設置爲「集成Windows身份驗證」。我沒有選中「匿名訪問」複選框。我是否正確地認爲這會阻止匿名訪問IIS(即IIS中的ReportServer應用程序?)。因此,用戶將被提示登錄詳細信息,這反過來將針對Windows/AD進行驗證?
報告:我創建了一個共享數據源在數據庫駐留在不同的服務器上,並配置數據源使用「Windows身份驗證」(不是SQL Server身份驗證),我可以成功地測試連接。通過在BIDS中運行報告,我也可以成功創建並測試一個簡單的報告。
當我部署報告時,我沒有提示登錄(這很好)。我相信這是由於IIS中的應用程序目錄配置爲使用正在使用已登錄的PC用戶帳戶(正確?)的「集成Windows身份驗證」。
每當我負荷報告通過瀏覽器服務,我在正確的提示輸入我的Windows域用戶名和密碼,但只有當我運行從我的本地PC的報告。一旦通過身份驗證,我就可以看到適用於我的所有報告。如果一個同事試圖連接到我的電腦上的報告實例,他不需要登錄即可進入!爲什麼是這樣?!
但是,當我通過瀏覽器運行已部署的報告時,我收到錯誤「報告處理過程中出現錯誤,無法創建與數據源的連接,用戶登錄失敗(空)'原因:不是與受信任的SQL Server連接關聯「。如果我更改數據源以使用SQL Server身份驗證並指定SQL Server中存在的登錄名,則可以在瀏覽器中成功運行該報表。
理想的解決方案,我想實現如下:
- 用戶加載報表服務器URL在瀏覽器中。
- 提示用戶輸入他們的Windows/AD憑據(包括域前綴)。
- 在幕後,用戶被允許進入報告服務器。
- 用戶將只能看到他/她被允許看到的報告文件夾和報告。這將通過將允許的AD組/用戶添加到報告文件夾和報告(我知道如何執行此操作)來控制。我不希望維護單獨的SQL Server用戶帳戶。
我覺得好像我差不多在那裏,即與報表服務器的連接在允許他們訪問報表服務器之前提示用戶輸入其Windows憑據。
請能有人告訴我:
一)爲什麼我會被提示輸入我的Windows系統中,當我通過瀏覽器訪問本地的報告,但不同的Windows用戶沒有當系統提示輸入日誌他們通過瀏覽器窗口遠程訪問我的報告服務器? b)如果應該實施更好的整體解決方案,請您建議或指向我相關的資源。
c)有沒有什麼需要警惕我目前的設置可能會導致未來的問題。
非常感謝提前。
JFB