Наше веб-приложение использует аутентификацию NTLM, и оно работает. Можно ли использовать одни и те же учетные данные для автоматического входа в диспетчер отчетов, на самом деле мы хотели бы иметь возможность переходить из нашего веб-приложения в диспетчер отчетов без повторного входа в систему. любые решения. Большое спасибо. Может ли кто-нибудь помочь мне добавить правильные теги? Я уже добавил кое-что, но боюсь, что не подойдет. спасибо
Система единого входа для сайта управления службами SSRS
Ответы (2)
Если вы хотите выполнить единый вход в диспетчер отчетов, вы можете сделать это, внедрив специальное расширение безопасности, предоставленное 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
{
}
}
Службы Reporting Services — это, прежде всего, приложение для интрасети, поэтому безопасностью по умолчанию является Windows Auth. Конечно, Reporting Services можно расширять, и к ним также можно получить доступ через Интернет, но для этой цели пользователям необходимо либо ввести учетные данные Windows (NTLM или Basic), либо перезаписать механизм аутентификации RS. Если ваше приложение использует проверку подлинности с помощью форм, вы можете использовать аналогичную проверку подлинности в RS при передаче файла cookie проверки подлинности из вашего приложения в расширение проверки подлинности RS. Образец FBA из codeplex, которым поделился Алекс, может стать вашей отправной точкой.
Вам также может быть интересно узнать, что вы можете инкапсулировать функциональные возможности RS внутри своего приложения, где пользователи никогда не будут обращаться к RS напрямую, но ваше приложение будет совершать вызовы RS и его отчеты через API-интерфейсы SOAP.
HttpModule. Пожалуйста, попробуйте. Спасибо. - person Joe.wang   schedule 12.07.2017