SharePoint 列表的自定义权限保存在哪里? (共享点 2010)
where are custom permissions for a SharePoint list saved? (SharePoint 2010)
我正在开发一个 POC (SahrePoint 2010),我可以在其中证明用户可以在某个日期范围的列表上被授予某些权限(例如,在选定的一周内提供访问权限)。我将打破权限继承并为列表创建唯一权限。
我希望在到期日后自动撤销权限。此外,我想使用管理权限列表 (_layouts/user.aspx) 执行此操作,这样我就不必维护单独的列表。
关于这个我有几个问题:
1. 我假设任何列表的自定义权限必须存储在某个列表中。如何知道权限存储在哪个列表中?
2. 如果我完全知道权限存储在哪个列表中,我是否能够向该特定列表添加列?
希望问题清楚。
权限未存储在任何列表中。相反,每个安全对象(包括站点、列表、文件夹和项目)都有一个 Role Assignments 属性,指示 groups/users 当前有哪些访问权限,以及他们的哪些权限权限是(如果不是继承的话)。
有关详细信息,请参阅 SPRoleAssignment class 文档。
请注意,用户信息列表不是 "Manage Permissions" 列表;它存储有关访问该站点的用户的个人资料信息,但不存储任何与权限相关的信息。此外,它根本不是典型的列表,因为它不会出现在子网站的 SPWeb.Lists
集合中,并且其字段由 SharePoint 的用户配置文件服务自动填充。虽然您可以向其中添加更多列,但最好使用单独的列表来存储和跟踪您的权限信息,而不是污染网站集用户信息列表。
要根据到期日期更改权限,您需要实施一个基于时间的解决方案,该解决方案会定期运行以查看是否需要进行任何更改,例如自定义计时器作业、按计划运行的自定义站点工作流或 Windows 计划任务。
我正在开发一个 POC (SahrePoint 2010),我可以在其中证明用户可以在某个日期范围的列表上被授予某些权限(例如,在选定的一周内提供访问权限)。我将打破权限继承并为列表创建唯一权限。
我希望在到期日后自动撤销权限。此外,我想使用管理权限列表 (_layouts/user.aspx) 执行此操作,这样我就不必维护单独的列表。
关于这个我有几个问题:
1. 我假设任何列表的自定义权限必须存储在某个列表中。如何知道权限存储在哪个列表中?
2. 如果我完全知道权限存储在哪个列表中,我是否能够向该特定列表添加列?
希望问题清楚。
权限未存储在任何列表中。相反,每个安全对象(包括站点、列表、文件夹和项目)都有一个 Role Assignments 属性,指示 groups/users 当前有哪些访问权限,以及他们的哪些权限权限是(如果不是继承的话)。
有关详细信息,请参阅 SPRoleAssignment class 文档。
请注意,用户信息列表不是 "Manage Permissions" 列表;它存储有关访问该站点的用户的个人资料信息,但不存储任何与权限相关的信息。此外,它根本不是典型的列表,因为它不会出现在子网站的 SPWeb.Lists
集合中,并且其字段由 SharePoint 的用户配置文件服务自动填充。虽然您可以向其中添加更多列,但最好使用单独的列表来存储和跟踪您的权限信息,而不是污染网站集用户信息列表。
要根据到期日期更改权限,您需要实施一个基于时间的解决方案,该解决方案会定期运行以查看是否需要进行任何更改,例如自定义计时器作业、按计划运行的自定义站点工作流或 Windows 计划任务。