我创建了一个自定义列表,其中包含与之关联的工作流程。工作流程通过不同级别的批准来获取项目。
我的工作流场景就像说发起人添加一个项目,该项目将转到经理审批。当经理批准时,当前列表中的几列将会更新。经理批准后,将转发给部门主管。当Dept头部采取行动时,列表的列值也会更新。对于所有这些用户,我已设置Contribute权限。但问题是,发起人启动的项目不应该被其他用户使用为每个项目显示的下拉菜单进行编辑或删除。只有项目和经理的所有者才有权使用下拉菜单进行编辑。当我尝试通过提前设置更改项目的编辑权限时 - >项目级别权限 - 当管理员或部门主管批准时,将访问权限设置为“仅限他们自己”,我收到拒绝访问错误消息。
任何人都可以建议我这方面的工作是什么?
答案 0 :(得分:2)
欢迎来到Sharepoint项目级别权限的不完美世界......
您将无法轻松使用Sharepoint 2007标准内容,因为您需要的是带模拟的工作流程 - 您为什么需要它?
您希望根据工作流所处的状态设置项级权限。只有在您有权这样做时才能更改权限 - 工作流以启动工作流的用户身份运行,因此您的用户需要正确的权限更改权限 - >您不希望每个用户都拥有它。所以有一种称为“模仿”的东西(作为Sharepoint 2010的一项活动)。模拟您只能通过SHarepoint 2007使用自定义活动来实现。
一旦您的工作流程在高级帐户下运行,您就可以轻松更改当前项目的权限,即为某人提供贡献权限并撤回其他人的阅读权限。
这里有一篇关于如何为Workflows和Sharepoint 2007实现项目级权限的好文章:
Custom Activity Workflow for implementing Item Level Security in SharePoint Designer 2007(对不起编码)
如果你真的不想编码,Codeplex上有一些有用的项目:
Useful Sharepoint Designer Custom Workflow Activities(特别是“项目资格许可”活动)
答案 1 :(得分:1)
请注意,项目级权限和大型列表不能很好地混合。它可能会导致列表中出现一些性能问题。
请仔细查看
http://technet.microsoft.com/en-us/library/cc262787.aspx
下的
安全范围
每个列表1,000
类型:阈值
为列表设置的唯一安全范围的最大数量不应超过1,000。
范围是安全对象及其任何未定义单独安全边界的子级的安全边界。作用域包含访问控制列表(ACL),但与NTFS ACL不同,作用域可以包含特定于SharePoint Server的安全主体。作用域的ACL成员可以包括Windows用户,Windows用户以外的用户帐户(例如基于表单的帐户),Active Directory组或SharePoint组。