以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树形式授权管理如何移植到自定义用户管理中来  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24939)

--  作者:sunbrain
--  发布时间:2012/10/27 1:13:00
--  [求助]目录树形式授权管理如何移植到自定义用户管理中来

如题:

案例中目录树形式授权管理如何移植到自定义用户管理中来?

实验了好多回都不起作用,不知道什么原因啊?

请各位老师指导

 


--  作者:blackzhu
--  发布时间:2012/10/27 7:23:00
--  
哪有什么难的,按照帮助一步步照做不就行了.
--  作者:lin_hailun
--  发布时间:2012/10/27 8:57:00
--  
 楼主,这个很简单吧。把用户表和授权表的一个列取得一个联系就行了。
--  作者:sunbrain
--  发布时间:2012/10/27 10:06:00
--  

我用的是自定义用户管理,但是哪个shouquan的内部函数不起作用,请大家帮我看看

自定义函数是这样的:

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

 

蓝色部分是我修改的部分。

 

授权窗口调整到正常

 


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

接下来我使用权限:

在菜单的loadusersetting中设置如下

RibbonTabs("产品板块").Groups("采购管理").Items("采购管理").Enabled = False
If  Functions.Execute("ShouQuan","产品板块","采购管理") Then
RibbonTabs("产品板块").Groups("采购管理").Items("采购管理").Enabled = True
End If

 

使用了多次,蓝色部分代码好像都不执行

 

请大家帮助


--  作者:woiz
--  发布时间:2012/10/27 10:18:00
--  

楼主是把自定义用户管理和系统的用户管理搞混了吧,

 

_username和_usergroup好像是系统的用户变量

 

另外,你的内部函数调用也有问题,args(0)是用户分组,args(1)才是授权


--  作者:sunbrain
--  发布时间:2012/10/27 11:37:00
--  

没有搞混,_usergroup是自己定义的

内部函数调用没有问题


--  作者:lin_hailun
--  发布时间:2012/10/27 13:54:00
--  
 楼主,你自己msgbox看一下关键的值吧。这样你就有答案了。

 http://www.foxtable.com/help/topics/1485.htm