簡體   English   中英

SQL Reporting Services:2008 R2,Web應用程序顯示未經授權的訪問

[英]SQL Reporting Services: 2008 R2, web app showing unauthorized access

我的SSRS 2008 R2有問題。 當我嘗試訪問我的Web應用程序(外部即https://webapp.com )時,請使用SSRS生成報告,我的Web應用程序未將憑據正確傳遞給SSRS,因此我得到401:未經授權。

但是,當我通過實際的服務器連接到Web應用程序並使用相同的url時,即使在內部使用RSWindowsNegotiate且沒有匿名身份驗證也可以正常工作。 因此,Kerberos和SPN很好,因為一切正常,但只能在內部運行。

然后,我進行了一些調查,似乎從外部看,我無法進行雙重身份驗證,或者IE無法將憑據傳遞給SSRS。 我的網絡應用程序正在做什么:

  1. 我打開應用程序,如果用戶是廣告的一部分,則需要輸入用戶名和密碼(Kerberos身份驗證和SPN)
  2. 單擊生成報告,此處的應用程序還應傳遞憑據,如果用戶已經保存在會話中,則應對照AD(kerberos和SPN)檢查該用戶。

我已經檢查了身份驗證並:

  1. 將身份驗證設置為RSWindowsNegotiate時,無法通過Web應用程序進行外部訪問。 Kerberos和SPN設置正確。
  2. 當我將匿名身份驗證設置為“匿名”時,通過Web應用程序進行的外部訪問工作正常
  3. 我試圖使用無人值守執行帳戶,但效果不佳

但是,我不希望在生產環境中保留匿名身份驗證,因此具有一些額外的安全性將非常有用。

您有什么想法為什么會發生嗎?

當SSRS2008R2嶄新而閃亮時,我遇到了這個問題。 當時我確實觸底,但我早已忘記了為什么會發生這種情況。 如您所說,它的長短是沒有雙重認證。

對於面向公眾的Web訪問,通常的解決方法是將報告包裝在asp.net頁的報告控件中。 報告控件代表用戶進行身份驗證。 它使用的憑據的來源取決於托管它的應用程序的作者。 是的,我知道-這是一個令人毛骨悚然的安排。 Blergh。

您也可以為SSRS編寫自己的安全提供程序。 這是一項艱巨的任務,很少得到尖尖的頭發老板所認可,他們更喜歡不斷問自己為什么還沒完成。 如果您確實完成了“十二項任務”並從黑社會回來,我相信您會得到一位公主和半個王國來處理您的報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM