Foxtable(狐表)用户栏目专家坐堂 → 请看看可视化授权代码


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

主题:请看看可视化授权代码

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
请看看可视化授权代码  发帖心情 Post By:2010/9/2 9:22:00 [显示全部帖子]

'授权
For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
For Each dr As DataRow In DataTables("授权表").DataRows
    If dr("用户名")=_UserName Then
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    End If
Next
If  _UserGroup = "管理员"  Then
    Tables("授权表").Visible = True
Else
    Tables("授权表").Visible = False
End If
Tables("数据加载").Visible = False

 

这是我写的一段可视化授权代码,但是就是不起作用,不知道哪儿有问题,请大家看看,实在是没辙了,以管理员组登录时,授权表不可见。

[此贴子已经被作者于2010-9-2 9:22:50编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 9:27:00 [显示全部帖子]

作例子太费事了,我试试

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 9:30:00 [显示全部帖子]

从理论上来说上面的代码应该是没有问题的,我有一点不明白,就是自定义登录时,首先要设置一个系统的默认用户才行,这样的话,究竟是默认用户登录,还是自定义的用户登录,我想问题是不是出在这个地方
[此贴子已经被作者于2010-9-2 9:30:12编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 9:42:00 [显示全部帖子]

我通过测试,自定义用户登录时系统的默认用户在后台登录。我是这样测试的,发布时取消默认用户,这样登录时出现的登录窗口可以以开发者的身份登录,登录之后切换用户,换到自定义的用户,但是功能和开发者用户的功能没有什么区别,从道理上来说,应该是自定义用户不具备开发者的有些功能。老大你的看法呢?

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 9:53:00 [显示全部帖子]

If  _UserGroup = "管理员"  Then
    Tables("授权表").Visible = True
Else If User.Type=UserTypeEnum.Developer Orelse User.Type=UserTypeEnum.User Then
    Tables("授权表").Visible = True
Else
    Tables("授权表").Visible = False
End If

用这样的办法,项目发布后就可以使“授权表”以管理员身份登录时显示出来,但是不论以自定义的哪一个用户登录都将显示出来,又达不到要隐藏的目的。而用下面一段代码就不能使“授权表”显示出来,而是隐藏了

If  _UserGroup = "管理员"  Then
    Tables("授权表").Visible = True
Else
    Tables("授权表").Visible = False
End If

[此贴子已经被作者于2010-9-2 9:57:21编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 9:58:00 [显示全部帖子]

用这种办法,不显示任何结果,我已经查过了,没辙了,才来一遍又一遍的来麻烦你的,要不然不会这样的
[此贴子已经被作者于2010-9-2 9:59:01编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 10:01:00 [显示全部帖子]

我想应该是系统的问题,逻辑上没有处理好,因为切换用户时也不能引发loadusersetting事件
[此贴子已经被作者于2010-9-2 10:01:15编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 10:11:00 [显示全部帖子]

老大如果说我没有录入_UserGroup ,那么下面的这段代码的作用又该如何解释呢:

If  _UserGroup = "管理员"  Then
    Tables("授权表").Visible = True
Else If User.Type=UserTypeEnum.Developer Orelse User.Type=UserTypeEnum.User Then
    Tables("授权表").Visible = True
Else
    Tables("授权表").Visible = False
End If

用这样的办法,项目发布后就可以使“授权表”以管理员身份登录时显示出来,但是不论以自定义的哪一个用户登录都将显示出来,又达不到要隐藏的目的。


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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 10:16:00 [显示全部帖子]

老大,我想还是你的系统设置有什么问题,我把那段代码放在了登录窗口的确定键上之后实现了我想要的功能。简易老大改改吧,我想肯定是哪儿有问题,我虽然说不准确,但肯定是有。如果是我的问题,代码放到任何地方,都达不到我要的结果,如果放在别的地方能实现,就说明有问题。对系统的逻辑我不懂,但是这些道理很简单,不知道我说的对不对。我这段代码放到登录窗口里,也回避了切换用户时不能引发loadusersetting事件的问题
[此贴子已经被作者于2010-9-2 10:19:12编辑过]

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/9/2 10:27:00 [显示全部帖子]

这也就说明了,在自定义用户登录时,系统用户组也登录了

 回到顶部
总数 12 1 2 下一页