以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]权力 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102635) |
-- 作者:苏州老街 -- 发布时间:2017/6/23 10:10:00 -- [求助]权力 老师好 此主题相关图片如下:图像 3.png 内部函数 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 = User.Group OrElse nm = User.Name 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 = User.Group OrElse nm = User.Name Then \'如果授权用户包括登录用户所属的分组或其用户名 Return True \'返回True End If Next End If Return False |
-- 作者:有点蓝 -- 发布时间:2017/6/23 10:50:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50080 If Functions.Execute("内部函数",User.Group,"录入") = true Then MessageBox.show("可以录入!") Else MessageBox.show("你无权录入!") End If |
-- 作者:苏州老街 -- 发布时间:2017/6/23 13:18:00 -- 以下是引用有点蓝在2017/6/23 10:50:00的发言:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50080 If Functions.Execute("内部函数",User.Group,"录入") = true Then MessageBox.show("可以录入!") Else MessageBox.show("你无权录入!") End If 老师,上面代码放在哪里?
|
-- 作者:有点蓝 -- 发布时间:2017/6/23 14:29:00 -- 你想在什么地方判断权限就在什么地方用。 |