[]
        
(Showing Draft Content)

用户身份集成

使用固定令牌集成时,相当于以一个固定的用户身份查看报表内容。

如果希望业务系统的不同用户,根据数据权限的不同,看到不同的报表内容,就需要以业务系统当前用户的身份登录,获取不同的令牌,再去查看文档内容。

将业务系统的当前登录用户传给 Wyn,并以该用户身份登录的过程,就是用户身份集成。

用户身份集成有两种方式:

  1. 使用 URL 参数传递用户信息;

  2. 单点登录集成。前者更简便,后者更安全。

使用 URL 的 QueryString 直接传递用户信息

方法如下:

  1. 设计报表时定义一个隐藏的参数。例如:参数名为 oauser。设置参数隐藏的目的是防止用户查看报表内容是手动输入另一个用户的用户名。

  2. 在集成报表内容的URL中添加用户身份参数。

比如:

&dp={"oauser":["ZhangSan"]}。

跟其他参数一样,这个参数内容需要经过URL编码,结果如下:

%dp=%7b%22oauser%22%3a%5b%22ZhangSan%22%5d%7d

注意:

  1. 此处的参数名(oauser)必须与报表设计时定义的参数名完全一致,大小写敏感。

  2. 这种方法仍然使用固定令牌进行集成,即在集成用的URL中,QueryString的token参数值仍然是固定的字符串。

单点登录集成

如果业务系统有更高的安全性要求,可在业务系统登录画面中,通过调用 Wyn 的登录API,同步登录 Wyn,以实现单点登录集成,并将获取的令牌放在会话变量中。

需要集成报表功能时,再从会话变量中取出令牌,串接在集成URL中。这样,业务系统的每个用户都是不同的令牌。通过调用API实现单点登录的具体方法参见:

调用Wyn API实现单点登录

从业务系统的登录画面中取出的用户登录信息,是用户输入的业务系统用户名和密码。通常用业务系统用户账号调用 Wyn 的登录API,是需要 Wyn 中具有相同用户名和密码的账号才可以。

为了避免为每个用户创建多套账号密码(业务系统的和 Wyn 的),可编写自定义安全提供程序。

安全提供程序是 Wyn 特有的用户集成机制,旨在允许业务系统的用户直接登录 Wyn 系统,不需要为业务系统的用户创建 Wyn的用户账号。这样可以免去账号同步的麻烦。

自定义安全提供程序是一个实现了 Wyn 规定接口的DLL。通过编写自定义的安全提供程序,可实现业务系统的用户查看 Wyn的报表内容时,直接以业务系统的账号登录,查看其权限范围内的数据内容。

编写自定义安全提供程序的具体方法,请参见:

编写自定义安全提供程序