Foxtable(狐表)用户栏目专家坐堂 → 这段代码 放在菜单的click事件里,为什么会有问题


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

主题:这段代码 放在菜单的click事件里,为什么会有问题

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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
这段代码 放在菜单的click事件里,为什么会有问题  发帖心情 Post By:2012/6/20 12:53:00 [只看该作者]

我在菜单的click事件里,加入了以下代码:

If Functions.Execute("ShouQuan","材料出库单","浏览")   Then
    Forms("材料出库单_左").Open()
    MainTable = Tables("材料出库单")
Else
    Messagebox.Show("对不起,你没有操作权限")
End If
我明明 授权给 李强 财务出库单 浏览 权限 可是用 李强登陆后, 点击 浏览 还是显示 “对不起,你没有操作权限”,请问代码 哪里出错了?


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


加好友 发短信
等级:二尾狐 帖子:529 积分:3605 威望:0 精华:0 注册:2011/10/11 17:20:00
  发帖心情 Post By:2012/6/20 13:03:00 [只看该作者]

ShouQuan 函数的代码为: 

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

 

我用的是自定义用户登陆。

我猜测 应该是shouquan的代码 有问题?请问 该怎么调整代码呢?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/20 14:15:00 [只看该作者]

如果自定义登陆,就不应该用User.Name

你看看自定义用户管理最后的总结:

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

 

 


 回到顶部