Система единого входа для сайта управления службами SSRS

Наше веб-приложение использует аутентификацию NTLM, и оно работает. Можно ли использовать одни и те же учетные данные для автоматического входа в диспетчер отчетов, на самом деле мы хотели бы иметь возможность переходить из нашего веб-приложения в диспетчер отчетов без повторного входа в систему. любые решения. Большое спасибо. Может ли кто-нибудь помочь мне добавить правильные теги? Я уже добавил кое-что, но боюсь, что не подойдет. спасибо


person Joe.wang    schedule 17.08.2012    source источник
comment
что ты уже испробовал? Я думаю, что то, что вы описываете, может быть достигнуто путем настройки проверки подлинности с помощью форм. Пошаговое руководство здесь, хотя эта запись Codeplex была написана не мной.   -  person sion_corn    schedule 03.04.2013
comment
Вы также можете посмотреть Custom Security. Пользовательская безопасность позволит вам переопределить функции аутентификации и авторизации для ssrs. Затем переопределения могут сыграть роль в вашей текущей модели данных. Вам нужно будет определить класс, который реализует несколько интерфейсов, а затем сообщить о них по записи в файле rssserportserver.config.   -  person Ross Bush    schedule 03.04.2013
comment
Спасибо. Все, нужно время, чтобы прочитать это.   -  person Joe.wang    schedule 03.04.2013
comment
Индивидуальная безопасность — это путь.   -  person Ross Bush    schedule 05.04.2013
comment
Честно говоря, я предпочитаю просто использовать HttpHandler или HttpModule, чтобы сделать это. Не использовать слишком сложный оригинальный механизм безопасности SSRS. Благодарю.   -  person Joe.wang    schedule 05.04.2013
comment
@ Joe.wang Привет, Джо, ты смог найти решение своей проблемы? Я тоже застрял на том же месте.   -  person Arjit    schedule 02.06.2017
comment
Очень жаль, что это был долгий пост. @Arjit Боюсь, я пока не могу вспомнить детали своего решения. Но я вспомнил, что только что добавил авторизацию в свой HttpModule. Пожалуйста, попробуйте. Спасибо.   -  person Joe.wang    schedule 12.07.2017
comment
Спасибо @Joe.wang. Я попробую. Дайте мне знать, если вы получите еще какие-либо подсказки. Спасибо.   -  person Arjit    schedule 14.07.2017


Ответы (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
            {

            }

        }
person Darey    schedule 31.10.2013

Службы Reporting Services — это, прежде всего, приложение для интрасети, поэтому безопасностью по умолчанию является Windows Auth. Конечно, Reporting Services можно расширять, и к ним также можно получить доступ через Интернет, но для этой цели пользователям необходимо либо ввести учетные данные Windows (NTLM или Basic), либо перезаписать механизм аутентификации RS. Если ваше приложение использует проверку подлинности с помощью форм, вы можете использовать аналогичную проверку подлинности в RS при передаче файла cookie проверки подлинности из вашего приложения в расширение проверки подлинности RS. Образец FBA из codeplex, которым поделился Алекс, может стать вашей отправной точкой.

Вам также может быть интересно узнать, что вы можете инкапсулировать функциональные возможности RS внутри своего приложения, где пользователи никогда не будут обращаться к RS напрямую, но ваше приложение будет совершать вызовы RS и его отчеты через API-интерфейсы SOAP.

person Ron5504    schedule 15.08.2013
comment
Не лучше ли добавить HttpModule, который реализует пользовательскую безопасность? потому что это достаточно просто понять для каждого разработчика Asp.Net. и работает на запрос к веб-сервисам РС. Я прочитал ваш рекомендуемый ответ, ну, я не думаю, что его легко понять. реализовать и отладить. - person Joe.wang; 16.08.2013