none
Политика безопастности - просто ужас какой-то RRS feed

  • Вопрос

  • Итак что я раскопал.
    В Sharepoint есть:
    Пользователь(SPUser и т.п.)
    Группа (SPGroup и т.п.)
    Разрешение (SPRoleDefinitions или SPRole(obsolete))
    НО! Группы существуют только на уровне семейства узлов! в общей коллекции. И если я хочу создать уникальную группу "читатели" для подсайта я должен создать уникальную группу "Имясайта-читатели".
    То-есть потерять фичу аудитории.
    Я могу пойти другим путем и создать для каждого узла кучу разрешений, добавлять пользователей непосредственно в пользователей узла и доставать их программно используя разрешения. Это решает проблемму доступа, но к сожалению не позволяет сделать удобным дизайн узла, где для разных ролей отображается разная информация.
    Прав ли я в своих изысканиях?
    31 августа 2007 г. 7:15

Ответы

  • Нет не о том, на каждом подузле пользователи имеют свои разрешения. т.е. кроссайтовые группы не годятся.
    Но я нашел решение проблемы.
    Все делается через разрешения на подузле

    + используется этот метод

    http://blogs.msdn.com/dansellers/archive/2005/10/18/482450.aspx

    + меняется мастер страница(вставляется переопределенный класс в области меню).

    + переписывается метод класса SPXmlContentMapProvider

     

    IsAccessibleToUser(HttpContext context, SiteMapNode node)

     

    SPContext.GetContext(context).Web.CurrentUser -> Roles

     

    node.Roles


    где проверяется текущий пользователь на принадлежность к разрешению на узле.
    3 сентября 2007 г. 12:36

Все ответы

  •  

    А почему теряются аудитории? Группы ведь можно наследовать от родительского узла, точнее при создании подсайта указывается - наследовать разрешения. или я не о том?
    31 августа 2007 г. 7:34
    Отвечающий
  • Нет не о том, на каждом подузле пользователи имеют свои разрешения. т.е. кроссайтовые группы не годятся.
    Но я нашел решение проблемы.
    Все делается через разрешения на подузле

    + используется этот метод

    http://blogs.msdn.com/dansellers/archive/2005/10/18/482450.aspx

    + меняется мастер страница(вставляется переопределенный класс в области меню).

    + переписывается метод класса SPXmlContentMapProvider

     

    IsAccessibleToUser(HttpContext context, SiteMapNode node)

     

    SPContext.GetContext(context).Web.CurrentUser -> Roles

     

    node.Roles


    где проверяется текущий пользователь на принадлежность к разрешению на узле.
    3 сентября 2007 г. 12:36