以文本方式查看主题

-  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
--  
你想在什么地方判断权限就在什么地方用。