Foxtable(狐表)用户栏目专家坐堂 → 权限控制


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

主题:权限控制

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
权限控制  发帖心情 Post By:2020/7/23 21:43:00 [只看该作者]

我是一个以导航窗口为主界面  NavBar1  包含系统维护,业务管理、财务管理、库房管理
然后做了一个用户权限表,记录有不同的用户 拥有不同的权限  ,然后与这块怎么关联呢,请教老师


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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/23 22:17:00 [只看该作者]

导航窗口afterload事件获取用户权限表权限,根据权限显示和隐藏对应的项目

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/24 9:49:00 [只看该作者]

If _UserName <> "Admin"
    e.Form.Controls("NavBar1").NavPages(0).Visible = False
    e.Form.Controls("NavBar1").NavPages(3).Visible = False
End If

老师,我用上面这个具体的用户测试写在afterload里,可以起到效果,下面的代码,我从用户权限表里取值的用户,起不到权限控制的作用,请老师看一下,哪里出问题了

''0,系统维护;1,系统管理;2,客户管理;3,财务管理;4,业务管理
Dim users As List(Of String)
users = DataTables("用户权限表").SQLGetValues("用户", "权限类别 = '系统维护'")
For Each user As String In users
    If user IsNot Nothing Then
        e.Form.Controls("NavBar1").NavPages(0).Visible = True
    Else
        e.Form.Controls("NavBar1").NavPages(0).Visible = True
    End If
Next

Dim user1s As List(Of String)
user1s = DataTables("用户权限表").SQLGetValues("用户", "权限类别 = '业务管理'")
For Each user1 As String In user1s
    If user1 IsNot Nothing Then
        e.Form.Controls("NavBar1").NavPages(4).Visible = True
    Else
        e.Form.Controls("NavBar1").NavPages(4).Visible = True
    End If
Next

Dim user2s As List(Of String)
user2s = DataTables("用户权限表").SQLGetValues("用户", "权限分组 = '员工信息'")
For Each user2 As String In user2s
    If user2 IsNot Nothing Then
        e.Form.Controls("员工信息").Visible = True
    Else
        e.Form.Controls("员工信息").Visible = False
    End If
Next

Dim user3s As List(Of String)
user3s = DataTables("用户权限表").SQLGetValues("用户", "权限分组 = '往来单位'")
For Each user3 As String In user3s
    If user3 IsNot Nothing Then
        e.Form.Controls("往来单位").Visible = True
    Else
        e.Form.Controls("往来单位").Visible = False
    End If
Next



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


加好友 发短信
等级:超级版主 帖子:107669 积分:547660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/24 9:55:00 [只看该作者]

e.Form.Controls("NavBar1").NavPages(0).Visible = (DataTables("用户权限表").sqlfind( "权限类别 = '系统维护' and 用户='" & user.name & "'") isnot nothing)

 回到顶部