Foxtable(狐表)用户栏目专家坐堂 → [求助] 可视化授权的问题


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

主题:[求助] 可视化授权的问题

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 可视化授权的问题  发帖心情 Post By:2014/6/26 11:36:00 [只看该作者]

我的项目是采用外部用户表作为登录用户表;现在我希望实现:1、通过授权表根据用户名、表名、列名的随意组合来控制某用户的不可见或者不可编辑权限;2、通过授权表根据分组名 、表名、列名的随意组合来控制某用户的不可见或者不可编辑权限。在项目属性LoadUserSetting事件中该如何设置命令

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/26 11:41:00 [只看该作者]


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/6/26 15:00:00 [只看该作者]

我看了,我用的是外部数据表做登录用户表;以下命令不太理解该怎么处理

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
 User.Type = UserTypeEnum.User Then

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/26 15:02:00 [只看该作者]

用的系统自带的用户管理,外部数据源依然是这么做。

用的自定义用户管理,这一句保留。下面再做你定义的全局变量判断

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/26 15:05:00 [只看该作者]

 自定义用户管理?那应该有_UserName 和 _UserGroup 全局变量吧?判断这些

 

 3楼的意思是,如果用户是普通用户,就不显示授权表......


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/6/26 15:06:00 [只看该作者]

那我的项目那样设置公式应该没有什么问题啦。怎么就是没有看到效果呢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/26 15:13:00 [只看该作者]

以下是引用wumingrong1在2014-6-26 15:06:00的发言:
那我的项目那样设置公式应该没有什么问题啦。怎么就是没有看到效果呢?

 

如果是自己设置的用户管理,是不会触发 LoadUserSetting 事件的

 

控制代码写到登陆窗口那里。


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/6/26 15:25:00 [只看该作者]

这样啊?我试一下看看

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/7/5 20:00:00 [只看该作者]

我的登录用户管理是使用  外部数据表  进行管理的;我在登录窗口的 登录 按钮中写入以下命令;在  授权表  中录有3条内容。但是当我登录项目时出现以下问题:1、授权表 不见了;2、授权表中所录入的内容也不生效啦。是不是我命令哪里错误?造成授权表看不到同时也就造成授权表中录入的内容也就不起效啦?


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


'1
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
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dl As DataRow In DataTables("授权表").Select("Name = '" & _UserName & "'" )
        If dl.IsNull("列名") Then
            Tables(dl("表名")).Visible = Not dl("不可见")
            Tables(dl("表名")).AllowEdit = Not dl("不可编辑")
        Else
            Tables(dl("表名")).Cols(dl("列名")).Visible = Not dl("不可见")
            Tables(dl("表名")).Cols(dl("列名")).AllowEdit = Not dl("不可编辑")
        End If
    Next
End If  '到此为止 以上内容为读取"授权表"确认哪些用户不可以编辑或者不可以看到哪些列



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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 9:28: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 dl As DataRow In DataTables("授权表").Select("Name = '" & _UserName & "'" )
    If dl.IsNull("列名") Then
        Tables(dl("表名")).Visible = Not dl("不可见")
        Tables(dl("表名")).AllowEdit = Not dl("不可编辑")
    Else
        Tables(dl("表名")).Cols(dl("列名")).Visible = Not dl("不可见")
        Tables(dl("表名")).Cols(dl("列名")).AllowEdit = Not dl("不可编辑")
    End If
Next


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