Foxtable(狐表)用户栏目专家坐堂 → 请教权限管理问题


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

主题:请教权限管理问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/9 20:03:00 [显示全部帖子]

 如下代码。

If User.Type = UserTypeEnum.Developer Then
    For Each t As Table In Tables
        t.Visible = True
        t.AllowEdit = True
    Next
End If

Forms("窗口1").open
Forms("窗口1").visible=False
Forms("窗口2").open
Forms("窗口2").visible=False

If User.Type = UserTypeEnum.User Then
    For Each t As Table In Tables
        If t.Name.Contains("_") Then
            Dim ary() As String = t.Name.Split("_")
            Dim fdr As DataRow = DataTables("权限管理").Find("用户名 = '" & User.Name & "' and 窗口 = '" & ary(0) & "' and 表名 = '" & ary(1) & "'")
            If fdr IsNot Nothing Then
               t.AllowEdit = fdr("可编辑")
            Else
                t.AllowEdit = False
            End If
        End If
        t.AllowEdit = False
        Dim dr As DataRow = DataTables("权限管理").Find("用户名 = '" & user.Name & "' and 表名 = '" & t.Name & "'")
        If dr IsNot Nothing Then
           t.AllowEdit = dr("可编辑")
        Else
           t.AllowEdit = False
        End If
    Next
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/9 20:57:00 [显示全部帖子]

 第一个问题不存在,你重新打开项目试一下。

 第二个问题,对于窗口表,权限写在窗口的afterload中。每个窗口打开后,自动执行一个内部函数(自己设计的权限),去限制窗口表。

 第三个问题,看第二个问题的处理。在afteropenproject执行权限后,若窗口关闭重新打开,权限是失效的。

 回到顶部