我正在构建一个业务应用程序,其中读写访问权限很重要。 该项目是在Visual Studio 2012中构建的提供商托管的MVC 5 / SharePoint应用程序。
Johnny需要能够Read
和Write
SharePoint App A
和SharePoint 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权限?
第二个例子:
我正在为项目管理构建一个应用程序,将有一个能够创建,阅读和编辑项目的工程师,还有一个会计师可以查看项目的可计费用。
如果我赋予工程师的读取权限和会计的读取权限,我如何知道哪些可以查看项目详细信息以及哪些可以查看项目的可用资金?
答案 0 :(得分:2)
我读了你链接的文章,我不确定这是“授权”,正确的词是“身份验证”,在sharepoint中你设置用户可以做什么,授权意味着 - 用户可以读取或写入的数据
所以一个简单的解决方案是在sharepoint中创建组,对于您拥有的任何授权类型,例如,名为“Engineer”的组,并为其提供您需要的权限,您的工程师将成为这个小组的成员。
在您的MVC属性中,接受该组作为参数并检查该用户是否是该组中的成员,根据其组向用户显示相关数据
public SharePointPermissionsAuthorizationAttribute( params string group) { _groups = groups; }
[SharePointEffectivePermissionsFilter("Engineer"]
public ActionResult Index() { ... } }