Разрешения для пользователей SharePoint
Я создаю бизнес-приложение, где важны права доступа на чтение и запись.
Проект - это приложение Hoster MVC 5/SharePoint, созданное в Visual Studio 2012.
Джонни должен иметь возможность Read
и Write
контента на SharePoint App A
И SharePoint App B
Dave должен иметь возможность Read
только 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?
Второй пример:
Я создаю приложение для управления проектами, там будет Инженер, который сможет создавать, читать и редактировать проекты, есть также Бухгалтер, который просматривает рекламные материалы проектов.
Если я даю разрешения на чтение для Инженера и Разрешений для чтения для бухгалтера, откуда я могу узнать, какие из них могут просматривать сведения о проекте и которые могут просматривать рекламные материалы проекта?
Ответы
Ответ 1
Я прочитал статью, с которой вы связались, и я не уверен, что это "авторизация", правильным словом является "аутентификация", в sharepoint вы устанавливаете то, что пользователь может, средство авторизации - какой пользователь данных может читать или писать
поэтому простым решением для вас является создание Group в sharepoint, для любого типа авторизации, который у вас есть, например, группа под названием "Инженер", и дает вам необходимые разрешения, ваши инженеры будут быть членами этой группы.
в свой MVC-атрибут, принять группу как параметр и проверить, является ли пользователь членом этой группы, показать пользователю соответствующие данные в соответствии с его группой
public SharePointPermissionsAuthorizationAttribute( params string group) { _groups = groups; }
[SharePointEffectivePermissionsFilter("Engineer"]
public ActionResult Index() { ... } }