Лучший отвечающий
Политика безопастности - просто ужас какой-то

Вопрос
-
Итак что я раскопал.
В Sharepoint есть:
Пользователь(SPUser и т.п.)
Группа (SPGroup и т.п.)
Разрешение (SPRoleDefinitions или SPRole(obsolete))
НО! Группы существуют только на уровне семейства узлов! в общей коллекции. И если я хочу создать уникальную группу "читатели" для подсайта я должен создать уникальную группу "Имясайта-читатели".
То-есть потерять фичу аудитории.
Я могу пойти другим путем и создать для каждого узла кучу разрешений, добавлять пользователей непосредственно в пользователей узла и доставать их программно используя разрешения. Это решает проблемму доступа, но к сожалению не позволяет сделать удобным дизайн узла, где для разных ролей отображается разная информация.
Прав ли я в своих изысканиях?31 августа 2007 г. 7:15
Ответы
-
Нет не о том, на каждом подузле пользователи имеют свои разрешения. т.е. кроссайтовые группы не годятся.
Но я нашел решение проблемы.
Все делается через разрешения на подузле
+ используется этот метод
http://blogs.msdn.com/dansellers/archive/2005/10/18/482450.aspx
+ меняется мастер страница(вставляется переопределенный класс в области меню).
+ переписывается метод класса SPXmlContentMapProviderIsAccessibleToUser(HttpContext context, SiteMapNode node)
SPContext.GetContext(context).Web.CurrentUser -> Roles
node.Roles
где проверяется текущий пользователь на принадлежность к разрешению на узле.- Помечено в качестве ответа Vinokurov YuriyModerator 4 мая 2009 г. 12:43
3 сентября 2007 г. 12:36
Все ответы
-
31 августа 2007 г. 7:34Отвечающий
-
Нет не о том, на каждом подузле пользователи имеют свои разрешения. т.е. кроссайтовые группы не годятся.
Но я нашел решение проблемы.
Все делается через разрешения на подузле
+ используется этот метод
http://blogs.msdn.com/dansellers/archive/2005/10/18/482450.aspx
+ меняется мастер страница(вставляется переопределенный класс в области меню).
+ переписывается метод класса SPXmlContentMapProviderIsAccessibleToUser(HttpContext context, SiteMapNode node)
SPContext.GetContext(context).Web.CurrentUser -> Roles
node.Roles
где проверяется текущий пользователь на принадлежность к разрешению на узле.- Помечено в качестве ответа Vinokurov YuriyModerator 4 мая 2009 г. 12:43
3 сентября 2007 г. 12:36