以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于用户多层分组授权的疑问 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140722) |
-- 作者:wymoonwalker -- 发布时间:2019/9/12 10:14:00 -- 关于用户多层分组授权的疑问 系统里通过user name和user group对人员进行分组授权,如果再多一级咋办? 比如一个法人组织内xxx(user name)负责录入,他属于sss分公司(user group),通过授权她可以编辑自己录入的资料,查看同组范围内其他人录入的资料。法人组织的管理者mmm可以查看所有分公司(user group)录入的资料。 现在系统要变成一个集团使用。集团里面有多个法人组织,每个法人组织有多个分公司,每个分公司有多个录入人员。同样的授权理念,录入人员只能看见自己分公司的资料,法人组织管理者只看本组织内资料,集团管理者能看见集团内所有法人组织的资料。 要如何改变分组呢?
|
-- 作者:有点蓝 -- 发布时间:2019/9/12 11:08:00 -- 分组设置成这样: 某法人组织 某法人组织_某分公司
某法人组织_某分公司_某权限 |
-- 作者:wymoonwalker -- 发布时间:2019/9/12 14:35:00 -- 突然间明白了,多谢!@有点蓝 |
-- 作者:wymoonwalker -- 发布时间:2024/10/11 10:09:00 -- 多年前的疑问,准备下手时又迷茫了,请老师进一步解惑。通过用户权限设置加载,在表事件befordload中代码如下。 If User.Group <> "管理层" Dim fl As String = "签订单位 = \'" & User.Group & "\'" If e.DataTable.LoadFilter = "" Then e.DataTable.LoadFilter = fl ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then \'如果没有包括雇员条件 e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl End If End If 现增加项目部分组,隶属于签订单位列中的某分公司。我如何使用用户分组设置权限呢。一个用户只有一个分组。要达到的效果是项目部组的人员只能加载本项目部的数据,分公司可以加载名下各个项目部的数据,管理层可以加载所有分公司的数据 |
-- 作者:有点蓝 -- 发布时间:2024/10/11 10:36:00 -- 假设签订单位存储的内容和分组一致 Dim fl As String = "签订单位 = \'" & User.Group & "\'" 改为 Dim fl As String = "签订单位 = \'" & User.Group & "\' or 签订单位 like \'" & User.Group & "_%\'"
|
-- 作者:wymoonwalker -- 发布时间:2024/10/11 14:29:00 -- 测试过了,就是这个效果,非常感谢 |