Sharepoint 提供商托管用户权限

Sharepoint Provider Hosted User Permissions

我正在构建一个业务应用程序,其中读写访问权限很重要。 该项目是 Visual Studio 2012 年构建的提供商托管 MVC 5 / SharePoint 应用程序。

Johnny 需要能够 ReadWrite SharePoint App ASharePoint App B

上的内容

Dave 只需要 Read SharePoint App A

上的内容

我查看了很多文档,包括本教程: http://www.itunity.com/article/sharepoint-permissions-manage-access-sql-data-709

问题是如果我在站点级别授予 Dave Read 访问权限,他可以访问 SharePoint App A 但也可以 SharePoint App B

如何有效地使用 SharePoint 权限来阻止这种意外行为?

我是否应该使用 SharePoint 权限?

第二个例子:

我正在构建一个项目管理应用程序,将有一位能够创建、阅读和编辑项目的工程师,还有一位查看项目账单的会计师。

如果我将读取权限授予工程师,将读取权限授予会计,我如何知道哪些可以查看项目详细信息,哪些可以查看项目的账单?

我读了你链接到的文章,但我不确定这是 "authorization",正确的词是 "authentication",你在 sharepoint 中设置了用户 可以做,授权方式-用户可以读取或写入哪些数据

所以一个简单的解决方案是在 sharepoint 中创建 Group,对于您拥有的任何授权类型,例如,一个名为 "Engineer" 的组,并赋予它您需要的权限,您的工程师将成为该组的成员。

在您的 MVC 属性中,接受组作为参数并检查用户是否是该组的成员,根据其组向用户显示相关数据

   public SharePointPermissionsAuthorizationAttribute( params string group) { _groups = groups; } 




[SharePointEffectivePermissionsFilter("Engineer"]
 public ActionResult Index() { ... } }