这里只是把用户和权限关联到一起,然后存储到授权表中,也就是说我们只是知道了哪个用户有什么权限。
用户登录后,每个需要控制权限的地方都还要到这个授权表查询是否有权限的,比如项目事件LoadUserSetting中,加入如下代码:
For Each t As Table In Tables
t.Visible = True
t.AllowEdit = true
For Each c As Col In t.Cols
c.Visible = True
c.AllowEdit = True
Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
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