我做了个授权表,内部函数代码如下
If User.Type <> UserTypeEnum.User Then ' 如果是开发者或者管理员
Return True '则具备所有权限
End If
Dim dt As DataTable = DataTables("授权")
Dim dr As DataRow
'首先判断某个授权用户是否包含此用户或此用户所属的分组之内
dr = dt.Find("分组 = '" & args(0) & "' And 权限 Is Null" )
If dr Is Nothing Then
MessageBox.show("不存在名为""" & args(0) & "分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return False
End If
If dr.IsNull("用户") = False Then
Dim nms() As String = dr("用户").Split(",")
'--------以下代码需要谨慎修改--------'
For Each nm As String In nms
If nm = _UserGroup OrElse nm = _UserName Then '如果授权用户包括登录用户所属的分组或其用户名
Return True '返回True
End If
Next
'--------以上代码需要谨慎修改--------'
End If
'然后判断权限的授权用户是否包括此用户或此用户所属的分组
If Args(1) = "" Then
Return False
End If
dr = dt.Find("分组 = '" & args(0) & "' And 权限 = '" & args(1) & "'")
If dr Is Nothing Then
MessageBox.show("不存在名为""" & args(1) & "权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return False
End If
If dr.IsNull("用户") = False Then
Dim nms() As String = dr("用户").Split(",")
'--------以下代码需要谨慎修改--------'
For Each nm As String In nms
If nm = _UserGroup OrElse nm = _UserName Then '如果授权用户包括登录用户所属的分组或其用户名
Return True '返回True
End If
Next
'--------以上代码需要谨慎修改--------'
End If
Return False
导航栏的授权检测代码
Select Case e.Page.Name
Case "证件管理"
Select Case e.Link.Name
Case "证件登记管理"
If Functions.Execute("ShouQuan","证件管理","证件登记管理") Then
forms("证件登记管理窗口").show
Else
MessageBox.show("您暂时没有权限查看!看看其他版块吧!")
End If
我授权表有这个分组啊