Я написал и развернул собственное расширение безопасности для SSRS 2008r2, и он прекрасно работает, кроме того, что при попытке развернуть отчеты из BIDS 2008/Visual Studio.Как я могу получить доступ к пользовательским ролям/разрешениям с помощью SSRS и BIDS Custom Security Extension?
Архитектура расширения безопасности обрабатывает логины через несколько полномочий, и я управляю этим, создавая сеанс пользователя в LogonUser(), сохраняя это в базе данных и затем загружая сеанс в прокси-классе клиента для веб-службы RS, используя UID, переданный cookie из службы, затем переписывая билет аутентификации, чтобы содержать идентификатор сеанса и пользовательские роли для текущего пользователя. Эти значения затем могут использоваться в пользовательском расширении авторизации для управления разрешениями пользователей на действия и объекты SSRS.
Проблема, с которой я столкнулся, заключается в том, что она не работает при развертывании отчетов от BIDS. Он обращается к службе напрямую, поэтому класс прокси-сервиса не требуется. Я попытался обработать событие после аутентификации в контексте HTTP, но, увы, cookie сеанса не сохраняется службой RS, поэтому я не могу получить доступ к значениям сеанса.
Так что мне не хватает? Есть ли еще один способ для управления ролями пользователя & разрешения, которые не требуют жесткого кодирования имени пользователя в любом месте? Как я уже сказал, логины могут быть сделаны с использованием нескольких полномочий, поэтому управление разрешениями через просто имя пользователя невозможно (и мысль об этом заставляет меня съеживаться).
Одно из возможных решений, которые я думал о написании расширения или плагина для BIDS, который по существу действует как прокси-сервер для веб-службы, который позволит мне больше контролировать процесс входа в систему, но я понятия не имею, возможно ли это (google не помогает ...)
Любая помощь была бы с благодарностью принята!
Вы получили какое-либо решение с полным исходным кодом? –