保存SharePoint列表的自定义权限在哪里? (SharePoint 2010)

时间:2016-10-19 09:22:41

标签: sharepoint-2010

我正在开发一个POC(SahrePoint 2010),我可以在其中证明用户可以在日期范围的列表上被授予某些权限(例如,为选定的一周提供访问权限)。我将破坏权限继承并为列表创建唯一权限 我希望权限在到期日后自动撤销。另外,我想使用“管理权限”列表(_layouts / user.aspx)执行此操作,以便我不必维护单独的列表。

我对此有几个问题:
1.我假设任何列表的自定义权限必须存储在某个列表中。如何知道权限存储在哪个列表中?

2.如果我知道在哪个列表中存储了权限,我是否可以在该特定列表中添加列?

我希望问题很明确。

1 个答案:

答案 0 :(得分:0)

权限不存储在任何列表中。相反,每个安全对象(包括站点,列表,文件夹和项目)都有一个角色分配属性,该属性指示哪些组/用户当前具有访问权限,以及他们的权限(如果未继承)。

有关详细信息,请参阅 SPRoleAssignment 类文档。

请注意,“用户信息”列表不是“管理权限”列表;它存储有关访问该站点的用户的配置文件信息,但不存储任何与权限相关的信息。此外,它根本不是典型的列表,因为它不会显示在子网站的SPWeb.Lists集合中,并且其字段由SharePoint的用户配置文件服务自动填充。虽然您可以为其添加更多列,但最好使用单独的列表来存储和跟踪您的权限信息,而不是污染网站集用户信息列表。

要根据到期日期进行权限更改,您需要实施基于时间的解决方案,该解决方案定期运行以查看是否需要进行任何更改,例如自定义计时器作业,按计划运行的自定义站点工作流或Windows计划任务。