以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教自定义授权函数的写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25775)

--  作者:sunbrain
--  发布时间:2012/11/16 12:32:00
--  [求助]请教自定义授权函数的写法

根据论坛上的一个案例,仿照做了一个例子,但是授权函数的操作总是错误,不知道错在哪里?请大家帮助

前提:这个是系统自带的用户管理

 

shouquan函数

 

If User.Type <> UserTypeEnum.User Then \' 如果是开发者或者管理员
    Return True \'则具备所有权限
End If


Dim dt As DataTable = DataTables("A10流程权限及进度状态")
Dim dr As DataRow
dr = dt.Find("模块 = \'" & args(0) & "\' And 流程 = \'" & args(1) & "\'" )
If dr.IsNull("角色") = False Then
    Dim nms() As String = dr("角色").Split("/")
    For Each nm As String In nms
        If nm = User.group Then \'如果授权用户包括登录用户所属的分组或其用户名
            Return True \'返回True
        End If
    Next
End If
Return False

 

 

有两张表:

 


图片点击可在新窗口打开查看此主题相关图片如下:12.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:34.jpg
图片点击可在新窗口打开查看

--  作者:blackzhu
--  发布时间:2012/11/16 13:21:00
--  
Dim nms() As String = dr("角色").Split("\\")   斜杠右斜吧

--  作者:sunbrain
--  发布时间:2012/11/16 22:03:00
--  
改了之后执行依然错误,麻烦再帮我看看
--  作者:小刚
--  发布时间:2012/11/16 22:27:00
--  
你里面写的有 /  也有  \\   改成一致,再试试。