Sharepoint 2010 SharePoint 2010授权问题

Sharepoint 2010 SharePoint 2010授权问题,sharepoint-2010,authorization,Sharepoint 2010,Authorization,假设我在sharepoint站点中有2个页面。我们把它们称为A页和B页。我们使用的是基于windows的身份验证机制。假设我有2个已通过身份验证的用户X&Y。在active directory中,某些属性设置为1的用户应该可以看到页面A。页面B应仅对未将此属性设置为1的用户可见。让我们称这个属性为SpecialUser。对于给定的用户,如果SpecialUser为1,则用户应该只能看到a页而不是B页。如果SpecialUser具有任何其他值,则用户应该只能看到B页而不是a页 在这种情况下,用户X

假设我在sharepoint站点中有2个页面。我们把它们称为A页和B页。我们使用的是基于windows的身份验证机制。假设我有2个已通过身份验证的用户X&Y。在active directory中,某些属性设置为1的用户应该可以看到页面A。页面B应仅对未将此属性设置为1的用户可见。让我们称这个属性为SpecialUser。对于给定的用户,如果SpecialUser为1,则用户应该只能看到a页而不是B页。如果SpecialUser具有任何其他值,则用户应该只能看到B页而不是a页

在这种情况下,用户X将属性SpecialUser设置为1,而用户Y没有设置。所以用户X应该只看到A页,而用户Y应该只看到B页

active directory中没有只包含SpecialUser属性值设置为1的用户的组。我们也不希望创建sharepoint组并手动添加这些用户


在这些限制条件下,我们如何实现这种授权?我认为可能需要定制编码。如果需要自定义编码,我该怎么做呢。如果没有,解决方案是什么?

我认为最简单的方法可能是坚持使用active directory端。Sharepoint身份验证可能有点易变。在我脑海中,我可能会建议创建一个active directory组,用来保存这些用户的列表。与其手动更新,不如让服务每隔一段时间运行一次(一天一次?一小时一次?取决于您愿意进行过时身份验证的时间长短),并检查active directory中的用户列表中是否有此标志。然后,服务将更新您用于身份验证的组


在Sharepoint开发中,可能有一种方法可以更优雅地实现这一点,但我从未听说过类似的方法。

如果您的Web应用程序可以设置为使用基于声明的模式而不是经典模式,那么您应该能够在无需自定义编码的情况下实现这一点,因为在页面上设置权限时,Active Directory属性可以用作声明

否则,将需要自定义编码。您可以创建放置在页面上的自定义web部件,该部件可以重定向用户或调用无效用户。要安全地修剪页面(使其不可见),您需要在显示页面的任何菜单或web部件中使用类似的逻辑


如果Active Directory属性是SharePoint用户配置文件的一部分,则可以使用该类。否则,您可以使用来检索属性值。

如果可以使用API等访问页面内容,则添加Web部件的方法可能会留下安全漏洞。我的应用程序也面临类似问题,是否有任何方法可以在sharepoint中引入自定义授权或扩展sharepoint授权。