Foxtable(狐表)用户栏目专家坐堂 → 请教狐爸们,关于使用角色进行可视化授权的问题?


  共有6527人关注过本帖树形打印复制链接

主题:请教狐爸们,关于使用角色进行可视化授权的问题?

帅哥哟,离线,有人找我吗?
Bin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/8 8:40:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/8 14:19:00 [显示全部帖子]

没有什么区别,也没有复杂一些.
dim strs as string()=User.Roles.split(",")
dim rs as string
for each s as string in strs
     rs=rs & ",'" & s & "'"
next

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
 User.Type = UserTypeEnum.User Then
    
For Each dr As DataRow In DataTables("授权表").Select("分组名 in (" & rs & ")" )
        If
 dr.IsNull("列名"
Then
            
Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
            
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑"
        End
 
If
    Next
End
 
If

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/9 9:06:00 [显示全部帖子]

你测试过了吗?真的不行吗?我看了一下代码,效用完全一样的啊.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/9 9:12:00 [显示全部帖子]

刚测试了一下代码.完全没问题.

注意这里要 in (" & rs.trim(",") & ")" )  去掉第一个逗号.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/9 9:16:00 [显示全部帖子]

以下是引用wengfuyy在2013-5-9 9:12:00的发言:
回BIN老师:
我测试了前半段代码,情况是这样的:如果我同属角色一和角色二,那么生成的字符串是:  ,'角色一','角色二'
不知老师要的是不是这个效果?
另外,关于后半段,请老师先看一下我关于权限的分析,如果认可,那就不用测试了,如果我分析的是错的,请你指正下,谢谢。

没错.要的就是'角色一','角色二'

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/9 9:17:00 [显示全部帖子]

以下是引用wengfuyy在2013-5-9 9:12:00的发言:
回BIN老师:
我测试了前半段代码,情况是这样的:如果我同属角色一和角色二,那么生成的字符串是:  ,'角色一','角色二'
不知老师要的是不是这个效果?
另外,关于后半段,请老师先看一下我关于权限的分析,如果认可,那就不用测试了,如果我分析的是错的,请你指正下,谢谢。

你分析得显然有问题,该代码效果和分组权限效果一样,并无差异. 我还一度怀疑难道我真的想歪了.怎么看代码都没问题.
最后还是去实际测试了一下.确实是一样的效果,没有问题的.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/10 8:38:00 [显示全部帖子]

以下是引用wengfuyy在2013-5-9 21:04:00的发言:
回BIN老师:
我试过了,如果所有用户都只属于一个角色,那么你的代码是对的。但是,如果有人属于两个及以上的角色就不对了。
原因就是我在5楼分析的。
我感觉按角色授权确实要复杂得多,也许授权表的格式都要重新设计。
希望BI老师能够继续完善,评你的水平应该是没问题的。
这真是一个造福于大众的事,你就辛苦下吧,拜托了!

这贴太长了,我重开了一贴,希望BIN老师继续指导!
[此贴子已经被作者于2013-5-9 21:44:50编辑过]

我就是测试过 同时拥有角色一,角色二 两个角色 没有问题的.不知道你是怎么测试的.例子发出来看看.

 回到顶部