众所周知,可以使用Reporting Manager创建SSRS用户,该管理器可以通过Reporting Service配置管理器实用程序中提供的URL进行访问。使用查询创建新的SSRS用户的可能性
但是,我的要求是使用查询创建新的SSRS用户。我只想知道是否可以这样做。如果是,如何?
众所周知,可以使用Reporting Manager创建SSRS用户,该管理器可以通过Reporting Service配置管理器实用程序中提供的URL进行访问。使用查询创建新的SSRS用户的可能性
但是,我的要求是使用查询创建新的SSRS用户。我只想知道是否可以这样做。如果是,如何?
类似的东西应该工作。
USE ReportServer
GO
IF NOT EXISTS (SELECT * FROM master.dbo.syslogins WHERE loginname = N'loginname')
CREATE LOGIN [loginname] FROM WINDOWS
GO
CREATE USER [loginname] FOR LOGIN [loginname]
GO
您无法使用Report Manager URL创建用户。权限管理/角色分配只能通过它来完成。
将登录/用户添加到[ReportServer]数据库并不意味着用户可以访问报告。
该组或用户名应该是以下格式的Windows域用户或组帐户:<domain>\<account>
。
https://msdn.microsoft.com/en-us/library/ms156034.aspx?f=255&MSPPError=-2147217396
有一种方式来实现你的检查用户的查询访问的要求。首先,在Report Manager中为所有用户提供“浏览器”角色(例如“NT AUTHORITY \ Authenticated Users”)。然后,将报告的当前用户传递给您的数据库查询。
报告的当前用户可以用报告表达式User!UserID
检索。在我的环境中,以<DOMAIN>\<WINDOWS USER NAME>
的形式返回。有关更多信息,请参见MSDN Built-in Globals and Users References (Report Builder and SSRS)。