Я хочу создать разрешение на уровне строк для отчета в службах Reporting Services.Я хотел бы дать конкретным пользователям определенный доступ к данным - проектам.Менеджер проектов может читать данные только для своих проектов.
Я хочу ограничить это использование пользователей SS Reporting Services.У меня есть только один пользователь - «Reportviewer», который имеет доступ к SQL и не хочет создавать больше пользователей в базе данных SQL.
Но у меня проблема, я не знаю, как я могу использовать SS Reporting ServicesПользователи (такие логины, как SERVERNAME \ UserName).Я знаю, что у меня должна быть таблица прав доступа, подобная приведенной ниже:
ПРОЕКТ USERLOGIN
SERVERNAME \ Matthias Project12
SERVERNAME \ Matthias Project13
SERVERNAME \ Tommy Project14
Мне не хотелось бы иметь код с ограничениями для пользователя в моем представлении SQL.что-то в этом роде
Where
(a.NrProjektu in (Select NrProjektu From tbn.SSRSRaportyDostepView Where LoginUser=USER_NAME() ) OR
IS_ROLEMEMBER('db_owner') = 1 OR
IS_SRVROLEMEMBER('sysadmin') = 1
)
Но когда я проверяю USER_NAME (), это похоже на "dbo".Как я понимаю, это "USER_NAME ()" относится к пользователю sql.
Я хочу иметь какое-то соединение, которое я могу использовать в отчете служб Reporting Services, например, "Где UserName = @ ReportUser".Я не знаю, как реализовать в SQL.