Dim vr As DataRow = DataTables("用户表").SQLFind("用户名 ='" & _user & "'")
Dim us As String = vr("用户名")
Dim gp As String =vr("用户组")
Dim zw As String = vr("职位")
Dim gs As String =vr("分公司")
If gp = "开发者"
Return True
Else
Dim dt As DataTable = DataTables("授权表")
Dim dr As DataRow =dt.Find("模块名称 = '系统设置' And 对象窗口 Is Null")
If dr Is Nothing
'MessageBox.Show("很抱歉,你无此权限!","提示!",MessageBoxButtons.OK,MessageBoxIcon.Warning)
Return False
ElseIf dr IsNot Nothing Then
If dr.IsNull("被授权人") = False Then
Dim nms() As String = dr("被授权人").Split("》")
For Each nm As String In nms
If nm = zw OrElse nm = us Then '如果授权用户包括登录用户所属的分组或其用户名
Return True '返回True
Else
MessageBox.Show("很抱歉,你无此权限!","提示!",MessageBoxButtons.OK,MessageBoxIcon.Warning)
Return False
End If
Next
End If
End If
End If
Return False
求助,这是按例子做的权限,标红的部分我用命令窗口执行后,发现如果nms有1个以上的时候,for...each执行后只能对第一个值进行对比
比如主管》经理》董事长,分割开字符后只能取到主管后就停止了,结果返回false,求大神指点