Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树形式授权管理如何移植到自定义用户管理中来


  共有11523人关注过本帖树形打印复制链接

主题:[求助]目录树形式授权管理如何移植到自定义用户管理中来

帅哥哟,离线,有人找我吗?
sunbrain
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
[求助]目录树形式授权管理如何移植到自定义用户管理中来  发帖心情 Post By:2012/10/27 1:13:00 [只看该作者]

如题:

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

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

请各位老师指导

 


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/27 7:23:00 [只看该作者]

哪有什么难的,按照帮助一步步照做不就行了.

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/27 8:57:00 [只看该作者]

 楼主,这个很简单吧。把用户表和授权表的一个列取得一个联系就行了。

 回到顶部
帅哥哟,离线,有人找我吗?
sunbrain
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By: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
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1021 威望:0 精华:0 注册:2012/1/18 14:40:00
  发帖心情 Post By:2012/10/27 10:18:00 [只看该作者]

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
sunbrain
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/27 11:37:00 [只看该作者]

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

内部函数调用没有问题


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/27 13:54:00 [只看该作者]

 楼主,你自己msgbox看一下关键的值吧。这样你就有答案了。

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

 回到顶部