Могут ли службы отчетов SQL работать с поставщиком членства ASP? - PullRequest
4 голосов
/ 15 марта 2012

У меня есть сайт ASP.NET, использующий безопасность на основе ролей через SQLMemberShipProvder.

Можно ли обеспечить доступ в Интернет для отчетов SSRS с использованием моих существующих ролей MembershipProvider?

Например, если у меня есть роль SupportPersonRole, могу ли я разрешить только определенным пользователям использовать определенные отчеты?

В документах говорится, что SQL 2008 R2 использует базовую аутентификацию для локального органа безопасности.Однако, если SSRS может представлять только свой собственный базовый вход для аутентификации для содержимого SSRS, я не уверен, каким образом я получу возможность авторизации с использованием ролей MembershipProvider.

Страница ASP.Net должна обрабатывать запрос параметров отчетатаким образом, кажется, это подразумевает, что «удаленный» режим подходит для получения этой функциональности.

Запутанная часть - SSRS (в удаленном режиме) имеет свои собственные учетные данные безопасности ролей, которые отделены от безопасности на основе ролей ASP.Net.Так как же избежать управления безопасностью в обоих местах?

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

Вы также можете визуализировать LocalReport на выходе по вашему выбору.Это может быть хорошим вариантом, если вам не нужно столько вариантов, сколько предлагает элемент управления.

// Controller Action
public ActionResult GetReport(ReportParameters foo)
{
    string mimeType;
    var stream = foo.RenderReport(out mimeType);
    return new FileStreamResult(stream, mimeType);
}

class ReportParameters {
    public Stream RenderReport(out string mimeType)
    {
        var localReport = new LocalReport();
        // ... TODO: Set up report data sources render call out variales, etc.
        byte[] renderedBytes;
        renderedytes = localReport.Render(
                reportType,
                deviceInfo,
                out mimeType,
                out encoding,
                out fileNameExtension,
                out streams,
                out warnings);
        return new MemoryStream(renderedBytes);
    }
}
4 голосов
/ 19 марта 2012

Если вы включите элемент управления для просмотра отчетов на своем сайте, вы сможете ограничить круг пользователей, которые могут просматривать эту страницу, и какие отчеты они могут запускать через интерфейс вашего сайта.

После этого ваше соединение с сервером SSRS (с веб-сервера на него) может быть защищено, и только ваш сайт сможет получить доступ к этим отчетам.

...