none
审批工作流如何限制权限 RRS feed

  • 问题

  • 我做了一个最简单的审批工作流,流程如下:

    A在通知中新建通知;B审核,通过则流向C审核、未通过则拒绝并终止工作流;C通过后,通知被批准并终止工作流、未通过则拒绝并终止工作流

    现在在权限部分有点问题:新建,审批,都正常,但是终止工作流后,需要对列表项进行内容审批状态的更改时,提示“事件类型:错误。用户ID:系统账户。说明:工作流无法更新此项目,可能是因为此项目的一个或多个列需要其他类型的信息。结果:拒绝访问。”

    我测试了很多权限搭配,只有A对“通知”列表具有设计级别的权限(可以查看、添加、更新、删除、审批和自定义)时,才能正常设置列表项的审批状态。

    如果我的所有设置都没有问题,那么,当A具有设计级别的权限时,审批工作流已经变得毫无意义,所以我怀疑是哪里做错了。我理想中的权限是,BC具备仅审核(包括不能创建,修改,删除)的权限,A只具备(创建、修改列表项的权限)。不知道这个权限设置合理与否。另外还想请教,我的工作流中有可能出问题的地方是哪个环节?


    B.C

    2013年3月4日 7:38

答案

  • 这个审批是工作流的动作,不是我登录A账号去手工审批

    最后我找到答案了。使用Inpersonation Step即可。
    在sharepoint designer的工作流设计中,可以使用Inpersonation Step,来替Step。
    Step会以工作流发起人的权限运行,而Inpersonation Step则会以工作流作者的(一般是系统管理员)的身份运行。

    非常感谢


    B.C


    2013年3月6日 9:47

全部回复

  • Hi Runnerchin,

    你这个权限设置的有点问题。A只具备(创建、修改列表项的权限),那么当A去修改状态的时候,必须具有修改权限才能修改啊,所以你还要给A 赋予修改权限。 如果你不想给A 赋予设计权限,可以创建自定义权限,然后组合SharePoint 提供的权限。

    1.进入网站操作->网站设置->用户和权限->网站权限->权限级别->添加权限级别->组合A的权限(查看、添加、更新,审批......)

    2.把你自定义的权赋给A。

    还有一点,我不太明白。 为什么A 去修改审核状态啊,按道理应该让C 去修改审核状态才对啊。

    Thanks,

    Jack


    Jack Gao
    TechNet Community Support

    2013年3月5日 8:17
    版主
  • 非常感谢关注这个问题。

    设想的理想状态是:BC具备仅审核(包括不能创建,修改,删除)的权限,A只具备(创建、修改列表项的权限)。

    因为按流程来看,A作为提交人,不应该具备审核权限,此权限应该只赋给B(因为B的拒绝会导致该提交直接被审核拒绝),和C(最终审核人)。[参见工作流设计图]

    但是实际环境里,我只有给A赋予了设计(可以查看、添加、更新、删除、审批和自定义)级别的权限时,工作流才能正常结束。这显然不符合实际情况。

    (当我尝试给A赋其它权限的时候,tasks列表里工作流分配给B,C的任务都是“完成”状态,但是无法正确结束工作流,在工作流状态查询里收到“事件类型:错误。用户ID:系统账户。说明:工作流无法更新此项目,可能是因为此项目的一个或多个列需要其他类型的信息。结果:拒绝访问。”的提示。)

    我现在没法确定我对权限的理解以及配置是错是对,所以一方面怀疑是权限设置问题,另一方面,我的工作流设计本身也没法排除嫌疑


    B.C


    2013年3月5日 9:01
  • Hi Runnerchin,

    我的建议就是在设置列表审批状态的时候,不要用A账号了,改用b 账号好c账号来修改。

    Thanks,

    Jack


    Jack Gao
    TechNet Community Support

    2013年3月6日 6:41
    版主
  • 这个审批是工作流的动作,不是我登录A账号去手工审批

    最后我找到答案了。使用Inpersonation Step即可。
    在sharepoint designer的工作流设计中,可以使用Inpersonation Step,来替Step。
    Step会以工作流发起人的权限运行,而Inpersonation Step则会以工作流作者的(一般是系统管理员)的身份运行。

    非常感谢


    B.C


    2013年3月6日 9:47