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


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

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

帅哥哟,离线,有人找我吗?
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编辑过]

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


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

做简单例子上传说明

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


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

作例子太费事了,我试试

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

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


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

发布的程序,不管是不是开发者,都不具备开发功能。

 

另外你完全理解错误,自定义用户管理和普通的代码一样,并没有什么特殊,不要以为自定义的用户管理代替了系统的用户管理后,系统的用户管理会失效。

系统的用户管理始终生效,foxtable自身使用的始终是系统的用户,而不是你的自定义用户,你的用户只适合你自己编写的代码。

 


 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

你大概是自己把自己转晕了,我也被你搞晕了,你自己MessageBox.show(_UserGroup)看看吧。

 


 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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