Foxtable(狐表)用户栏目专家坐堂 → 关于使用者的权限


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

主题:关于使用者的权限

美女呀,离线,留言给我吧!
wymoonwalker
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
关于使用者的权限  发帖心情 Post By:2015/8/7 10:05:00 [只看该作者]

请教专家,我有一个项目,由不同的人编辑并对他们设置了权限只能看见自己录入的行,其中表中“图片”列是图片列,上传资料用。
现在增加了一个“过路者”用户,只能浏览不能做任何修改。但是现在想对“图片”列中已上传的资料可以下载。
请问代码该如何修改?
If User.Name = "过路者" Then
    For Each t As Table In Tables
        t.AllowEdit = False
    Next
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 10:11:00 [只看该作者]

 ftp列的权限不好控制。

 

 你单独做一个浏览图片和下载图片的窗口吧,加入PictureViewer控件,控制其按钮的显示即可。

 

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

 


 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2015/8/7 10:20:00 [只看该作者]

太难了。我不做ftp列具体的权限控制了。这个过路者用户可以编辑(删除或下载或上传)ftp列,只是无法编辑其他所有列的内容呢?



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 10:27:00 [只看该作者]

1、AfterOpenProject事件

 

For Each dt As DataTable In DataTables
    dt.GlobalHandler.PrepareEdit = True
Next

 

2、全局表事件,PrepareEdit

 

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

 

If User.Name = "过路者" Then
    If e.Col.DataCol.ExtendType <> ExtendTypeEnum.Files AndAlso e.Col.DataCol.ExtendType <> ExtendTypeEnum.Images Then
        e.cancel = True
    End If   
End If

 

[此贴子已经被作者于2015/8/7 10:26:56编辑过]

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2015/8/7 14:00:00 [只看该作者]

谢谢红袍!
代码试验后可以应用但发现一个问题。
因我这个项目有多个表,而只有这一个表A有图片列需要编辑,其他表用"过路者"登陆后都是锁定状态。项目过路者用户登陆后,首先是一个登陆图片,此时直接点击表A,那么图片列可编辑。点击其他表,显示锁定状态。再点击表A,依然是全表锁定状态,全部列都不能编辑。
此时切换其他用户,也同样是项目全部表锁定状态。除非关掉重新登录,才正常。
这种现象是否正常?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 14:06:00 [只看该作者]

1楼的代码,你要去掉才行

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 14:07:00 [只看该作者]

如果只有一个表需要,就在那个表的PrepareEdit写代码即可。不需要开启全局表事件。

 

If User.Name = "过路者" Then
    If e.Col.Name = "图片" Then
        e.cancel = True
    End If   
End If

 

[此贴子已经被作者于2015/8/7 14:07:07编辑过]

 回到顶部
美女呀,离线,留言给我吧!
wymoonwalker
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2163 威望:0 精华:0 注册:2014/2/10 10:59:00
  发帖心情 Post By:2015/8/7 14:31:00 [只看该作者]

如果去掉一楼的代码,其他表的锁定设置是否需要在每个表的表属性中重新编码?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 14:33:00 [只看该作者]

单独解锁一个表

 

If User.Name = "过路者" Then
    For Each t As Table In Tables
        If t.Name <> "表A" Then
            t.AllowEdit = False
        End If
    Next
End If

 回到顶部