Foxtable(狐表)用户栏目专家坐堂 → 关于一人承担多角色权限管理


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

主题:关于一人承担多角色权限管理

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
关于一人承担多角色权限管理  发帖心情 Post By:2015/2/27 11:34:00 [只看该作者]

老师,一个人承担多个角色权限管理,下面代码是一个人在资金计划申报环节的角色是经办人,但在项目进度管理环节的角色却是部门负责人审核,现在要承担经办人角色,下面的代码提示红色部分代码有错,请老师帮助纠正,谢谢!!!

If e.Col.Name = "XZH" Then
    If User.Roles <> "部门负责人" AndAlso User.Roles NOT Like "%经办人%" Then
        If e.Row("TBDW") <> User.GROUP OrElse e.Row("TB") <> User.NAME OrElse e.Row("sbzgb") = True Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
            e.Cancel = True
        End If
    End If
Else
    If e.Row("TBDW") <> User.GROUP OrElse e.Row("TB") <> User.NAME OrElse e.Row("sbzgb") = True  Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
        e.Cancel = True
    End If
End If


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/2/27 11:37:00 [只看该作者]

一个用户,可以是任意多个角色,权限就是多角色权限的累加。

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/27 11:39:00 [只看该作者]

以下是引用lsy在2015/2/27 11:37:00的发言:
一个用户,可以是任意多个角色,权限就是多角色权限的累加。

请老师帮助纠正一下我上面的代码,谢谢!

是需要用单引号吗,但单引号后里面的字变成灰色,也不行

[此贴子已经被作者于2015/2/27 11:41:18编辑过]

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


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

有个IsRole方法


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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/27 11:46:00 [只看该作者]

以下是引用Bin在2015/2/27 11:41:00的发言:
有个IsRole方法

改成这样也不行啊

If e.Col.Name = "XZH" Then
    If User.Roles <> "部门负责人" AndAlso User.Roles IsNot Like("%经办人%") Then
        If e.Row("TBDW") <> User.GROUP OrElse e.Row("TB") <> User.NAME OrElse e.Row("sbzgb") = True Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
            e.Cancel = True
        End If
    End If
Else
    If e.Row("TBDW") <> User.GROUP OrElse e.Row("TB") <> User.NAME OrElse e.Row("sbzgb") = True  Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
        e.Cancel = True
    End If
End If


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


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

晕.能不能看一眼我说的是什么,和静下心来看一下帮助

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/27 11:53:00 [只看该作者]

以下是引用Bin在2015/2/27 11:47:00的发言:
晕.能不能看一眼我说的是什么,和静下心来看一下帮助

多角色用户我一个都没有用得上啊,还请老师耐心指导,我都按帮助学习,只是有些自学也不能快速理解啊。。。


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


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

那是因为你根本就没看,请你看一下我说的是什么,再看一下你写的是什么.

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/27 12:11:00 [只看该作者]

If e.Col.Name = "XZH" Then
    If User.Roles <> "部门负责人" AndAlso User.Roles <> "经办人" Then
        If e.Row("XMGLDW") <> User.GROUP OrElse e.Row("htJBR") <> User.NAME OrElse e.Row("sbzgb") = True Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
            e.Cancel = True
        End If
    End If
Else
    If e.Row("XMGLDW") <> User.GROUP OrElse e.Row("htJBR") <> User.NAME OrElse e.Row("sbzgb") = True  Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
        e.Cancel = True
    End If
End If

这样代码是没有错的,如果一个人只是经办人或部门负责人,不管是经办人还是部门负责人,代码能正确执行,但如果一个人既是经办人,又是部门负责人,那就不执行。要怎样改写代码才可以呢

[此贴子已经被作者于2015/2/27 12:11:46编辑过]

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


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

你能不能先看一下我4楼的回复

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