我們的Web應用程序使用NTLM身份驗證,它正在工作。是否可以使用相同的登錄憑據自動登錄到報表管理器,實際上我們希望能夠從我們的Web應用程序導航到報表管理器,而無需再次登錄。 任何解決方案。謝謝很多。 有人可以幫我添加正確的標籤嗎?我已經加了一些,但是害怕不合適。謝謝SSRS管理站點的SSO
回答
Reporting Services主要是一個Intranet應用程序,因此默認安全性是Windows身份驗證。當然,Reporting Services是可擴展的,並且可以通過互聯網訪問,但爲此用戶必須打入Windows憑據(NTLM或Basic),或者必須重寫RS的身份驗證機制。如果您的應用程序在Forms Auth上,那麼您可以在RS上進行類似的身份驗證,同時將身份驗證Cookie從應用程序傳遞到RS的身份驗證擴展。來自Alex共享的FBA樣本可能是您的出發點。
您可能還想知道,您可以將RS的功能封裝在應用程序中,用戶不會直接訪問RS,但您的應用程序將通過RS'SOAP APIs撥打RS和其報告。
在那裏添加一個實現用戶自定義安全性的HttpModule不是更好嗎?因爲它足以理解每個Asp.Net開發者。它適用於RS的Web服務請求。我已經閱讀了你的推薦答案,好吧,我不認爲這很容易理解。實施和調試。 – 2013-08-16 01:19:14
如果您想要對報告管理器執行單點登錄,實現此目的的方法是通過實施Microsoft提供的自定義安全擴展。這是標準解決方案。您可以在此處獲得實施細節http://www.codeproject.com/Articles/675943/SSRS-2012-Forms-Authentication
另外,正如您所提到的,如果您不想包括複雜性並使事情簡單化,只需通過獲取驗證頁面的DOM和處理單擊來實現登錄。但是,如果您確信網頁中的標籤命名,該方案纔有效。
檢查以下
public MainWindow()
{
InitializeComponent()
WinFormWebBrowser.Navigate(Url);
WinFormWebBrowser.DocumentCompleted += WinFormWebBrowser_DocumentCompleted;
}
void WinFormWebBrowser_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
try
{
HtmlElement ele = WinFormWebBrowser.Document.GetElementById("email");
if (ele != null)
ele.InnerText = "username";
ele = WinFormWebBrowser.Document.GetElementById("pass");
if (ele != null)
ele.InnerText = passWord;
ele = WinFormWebBrowser.Document.GetElementById("loginbutton");
if (ele != null)
ele.InvokeMember("click");
WinFormWebBrowser.DocumentCompleted -=WinFormWebBrowser_DocumentCompleted;
}
catch
{
}
}
- 1. 繞過站點管理員的步驟SSO
- 2. Django管理站點
- 3. WSO2 api管理器和SSO
- 4. Django管理站點與mongodb
- 5. Django站點管理失敗
- 6. Django動態管理站點
- 7. 使用OpenID的ASP.NET MVC多站點SSO
- 8. 忽略Django管理站點的DEFAULT_CONTENT_TYPE?
- 9. MVT/MVC Django的管理站點
- 10. Django管理站點 - admin.py的位置
- 11. WordPress的多站點管理員鎖定
- 12. 管理站點中的資源
- 13. 通用管理站點在PHP/MySQL的
- 14. 過濾查詢的Django管理站點
- 15. WordPress多站點 - 不同站點上的不同管理主題
- 16. 讓站點管理員管理Django中的默認值
- 17. 單點登錄(SSO)標準網絡管理員應用
- 18. DNN網站的SSO
- 19. SSRS報告門戶管理
- 20. SSRS報告管理器
- 21. Siteminder SSO不保護ASP.NET MVC站點
- 22. 身份管理/ SSO解決方案?
- 23. WSO2ESB SAML SSO管理Consle簽出
- 24. 使用SSO與TFS發佈管理
- 25. 公共站點vs管理站點「不同步」
- 26. 使用多站點管理器搜索多個ExpressionEngine站點
- 27. Terminalfour站點管理器 - 內容管理系統
- 28. 跨站點MSM會員管理
- 29. 在Django管理站點調用方法
- 30. Django管理站點不工作
你嘗試過什麼迄今爲止樣?我認爲你所描述的可以通過設置表單身份驗證來實現。有一個一步一步的教程[這裏](http://msftrsprodsamples.codeplex.com/wikipage?title=SS2008R2!Security%20Extension%20Sample),雖然這個Codeplex條目不是我寫的。 – 2013-04-02 21:02:32
你也可以看看自定義安全。自定義安全將允許您覆蓋ssrs的身份驗證和授權功能。覆蓋可以發揮你當前的數據模型。您需要定義一個實現了幾個接口的類,然後讓它們通過rssserportserver.config文件中的條目來知道。 – 2013-04-03 03:27:56
謝謝。每個人都需要時間閱讀它。 – 2013-04-03 06:36:26