-
Carson 小试身手Lv3
发表于2018-8-20 16:24
悬赏100
已解决
Carson 发表于 2018-8-20 17:01
现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属 ...
这是我刚建的一个用户,和两个角色,这一个用户有两个角色,然后通过字符函数把第三个$后面的值取出来
select * from ES10_PERMISSION where resourcetype_='4' and authid_='ceshi'
还有一种方式:对用户开放一个扩展属性,把角色维护进去
针对login对象获取不到role信息,我们会向内部反馈,后续会持续跟进同步给您
9个回答
目前角色通过login对象暂时获取不到,但是可以尝试使用ardb通过sql取出来,具体还得看看您的使用场景,建议您先描述一下您的需求,如果可以,把表样发上来我们一起看看
在BI中,ardb函数有两种用法,一种是用在SQL过滤,形如标题;另一种是返回一个数组对象,可以作为另一种分析的源,例如较大数据量的聚类分析,一般都需要使用ardb来准备数据。
示例:a.USERID_ in ardb("select distinct userid_ from b where substr(bbq_,1,4) ='<#=@bbq#>'")
就是在这个角色里面的人,可以查看全部的人员积分,每个用户登录只可以看到自己的积分,这样,只要分配了用户角色,就相当于分配了查看权限
Carson 发表于 2018-8-20 16:48
就是在这个角色里面的人,可以查看全部的人员积分,每个用户登录只可以看到自己的积分,这样,只要分配了用 ...
您先按照我上面的示例用ardb来尝试一下
现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属角色ID,过滤没发做的
Carson 发表于 2018-8-20 17:01
现在的问题是,后天数据库表里面那张表存放的是角色与属于这个角色的关系表,如果不能通过登录用户取到所属 ...
这是我刚建的一个用户,和两个角色,这一个用户有两个角色,然后通过字符函数把第三个$后面的值取出来
select * from ES10_PERMISSION where resourcetype_='4' and authid_='ceshi'
还有一种方式:对用户开放一个扩展属性,把角色维护进去
针对login对象获取不到role信息,我们会向内部反馈,后续会持续跟进同步给您
已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from biemp.ES10_PERMISSION where resourcetype_='4' and authid_='<#=@admin#>' limit 1"),1=1,if(@td='5',RYJF.ORG_CODE = @sstd,RYJF.emp_code=@uc)))
0021是角色id,@admin参数是登录用户ID
Carson 发表于 2018-8-20 18:18
已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from ...
Carson 发表于 2018-8-20 18:18
已解决,过滤条件如下
if(@admin='admin',1=1,if('0021'= ardb("select right(resourceid_,4) roleid from ...
棒棒棒