【发布时间】:2010-09-20 11:42:27
【问题描述】:
在只有所有者或管理员可以更改项目的列表中,我如何通过代码检查用户是否可以编辑项目。
我试试
item.DoesUserHavePermissions(SPBasePermissions.EditListItems);
它将返回 True,因为用户可以在列表中添加和编辑项目。
【问题讨论】:
-
作为一个肮脏的修复,我现在检查谁创建了该项目并与当前用户进行比较。
在只有所有者或管理员可以更改项目的列表中,我如何通过代码检查用户是否可以编辑项目。
我试试
item.DoesUserHavePermissions(SPBasePermissions.EditListItems);
它将返回 True,因为用户可以在列表中添加和编辑项目。
【问题讨论】:
根据作者字段检查用户可能是唯一的方法。
或者,您可以限制用户可以尝试编辑的项目列表,方法是进行查询,只带回他们是作者的项目,除非他们拥有更广泛的权利。
使用 SPRoleDefinition 和 SPRoleAssignment 类检查更广泛的权限。
其他明智的做法是尝试编辑并捕获异常并将其返回给用户。
【讨论】: