none
Microsoft SQL Server 2008 Reporting Services 报表数据安全问题! RRS feed

  • 问题

  •  是否可以实现 不同的用户登陆后 访问同一张报表,显示的数据不同。

    eg: 比如不同地区的销售业绩,我系统 上海的用户登陆显示上海的销售业绩,北京的用户登陆就是北京的业绩。 是否可以实现!! 如何实现!!谢谢

    2013年5月23日 9:06

答案

  • 根据User.UserID判断即可。

    想不想时已是想,不如不想都不想。

    2013年5月24日 1:11
    版主
  • 使用User!UserID可以看找到当前访问报表的用户ID,然后通过后台的权限表进行控制(比如那些用户是上海的,然后再跟你的数据关联进行过滤)。

    2013年5月24日 1:31
  • 谁告诉你“microsoft SQL Server 2008 Reporting Services   登陆用户是 ReportServer 数据库中的user表”的?

    通常情况下,UserID是当前用户的域帐户,domian\username这样的。

    至于域帐户怎么跟区域、权限对应起来,那是你自己要搞个表来放的。


    想不想时已是想,不如不想都不想。

    2013年5月24日 2:53
    版主
  • 比如你自己建立一张表里边存储用户名以及能够看到的数据,当报表运行是根据Report获得的UserID找到你自己创建的权限表,然后做数据过滤就可以了,不需要将你的UserID传递给参数。


    Please Mark As Answer if it is helpful.

    2013年5月27日 2:18

全部回复

  • 根据User.UserID判断即可。

    想不想时已是想,不如不想都不想。

    2013年5月24日 1:11
    版主
  • microsoft SQL Server 2008 Reporting Services 登陆用户是 ReportServer 数据库中的user表, 但是 报表连接的数据库是我们的业务数据库,里面的用户表 和ReportServer 数据库中的user表 是2个不同数据库中的 user表。如何建立关联!


    2013年5月24日 2:32
  • 谁告诉你“microsoft SQL Server 2008 Reporting Services   登陆用户是 ReportServer 数据库中的user表”的?

    通常情况下,UserID是当前用户的域帐户,domian\username这样的。

    至于域帐户怎么跟区域、权限对应起来,那是你自己要搞个表来放的。


    想不想时已是想,不如不想都不想。

    2013年5月24日 2:53
    版主
  • 参考楼上的,RS是跟AD集成的,所以UserID是domian\username。可以参考:http://msdn.microsoft.com/zh-cn/library/ms157274(v=sql.100).aspx


    Please Mark As Answer if it is helpful.

    2013年5月24日 3:11
  • 谁告诉你“microsoft SQL Server 2008 Reporting Services   登陆用户是 ReportServer 数据库中的user表”的?

    通常情况下,UserID是当前用户的域帐户,domian\username这样的。

    至于域帐户怎么跟区域、权限对应起来,那是你自己要搞个表来放的。


    想不想时已是想,不如不想都不想。

    那请问 假如 已经将 域帐户跟区域、权限对应起来了;

    当SQL Server 2008 Reporting Services   登陆的域用户登陆! 如何获取登陆传入的该用户id!如何获取到当前登陆用户id。进而通过该用户id筛选访问这张报表的数据内容!  (初学者,弱弱 ~-~ 求指条明路)


    2013年5月24日 3:49
  • 你用过报表参数吧?跟参数一样的用法。


    想不想时已是想,不如不想都不想。

    2013年5月24日 4:19
    版主
  • 用过, 比如我设置了 一个参数 @id   当我域用户登陆的时候, 用户值 会传递给 @id 吗? 

    如何登陆用户的值 和 我定义的参数id值关联, 我不晓得的登陆的值如何传递给 参数@id

    2013年5月24日 5:14
  • 比如你自己建立一张表里边存储用户名以及能够看到的数据,当报表运行是根据Report获得的UserID找到你自己创建的权限表,然后做数据过滤就可以了,不需要将你的UserID传递给参数。


    Please Mark As Answer if it is helpful.

    2013年5月27日 2:18