2014-11-17 2 views
2

У меня есть роли пользователя, которые работают следующим образом: Администратор - это роль в Manger, которая является ролью во входе пользователя. Я хочу, чтобы это работало так, чтобы, если у пользователя есть роль администратора, у них также будет роль «Записанная роль пользователя». Эта причина для этого - проверка кода. Я действительно не хочу писать что-то, что инкрементно проверяет каждую роль, чтобы узнать, имеет ли пользователь доступ к чему-то, когда я могу просто проверить, являются ли они зарегистрированным пользователем. Теперь я хочу иметь возможность применять безопасность к файлам sitecore. Проблема, с которой я сталкиваюсь, заключается в том, что отказ в доступе перекрывает доступ, если они существуют для пользователя. Я мог бы разделить роли и делать инкрементные проверки (или даже вложить их в обратную сторону), но я хочу знать, есть ли способ переключить отказ доступа к переопределению доступа, чтобы быть противоположным. То есть если у Менеджера есть доступ к элементу, но не зарегистрированный пользователь, то пользователь, который является Менеджером, сможет видеть этот элемент (в то время как наследует роль «Записанный пользователь»), но пользователь, который является только зарегистрированным пользователем, не будет.Sitecore Role Security Сделать Access Overriding Deny

ответ

4

Я предполагаю, что вы имеете следующую структуру ролей:

  • Admin - является членом ...
  • Manager - является членом ...
  • вошедшего в систему пользователя

Вы должны очень редко отказывать в доступе, как вы узнали, поскольку отказ всегда отменяет доступ независимо от того, откуда происходит наследование. Вместо этого вы должны разбить наследование для Записанный пользователем роль, а затем предоставить доступ для чтения для вашего Manager роль. Ваш Admin Роль получит доступ на чтение через наследование, так как он входит в состав Менеджер роль.

Поскольку вы можете иметь содержание, которое должно быть доступны только для зарегистрированных пользователей, вы должны разорвать наследование на Sitecore \ Все роли, а также, и дать доступ к вашей авторизированным пользователям роли.

Записан В роли пользователя:

Logged In User - Break Inheritance

Logged In User - Access Viewer

менеджер Роль: - является членом вошедшего в систему пользователя

Manager Role - Give Read Access

Manager Role - Access Viewer

Администратор Роль: является членом менеджера

Admin Roles - Access Viewer

+1

+1 для наследования излома и не используя отрицать! –

+1

Отличный ответ. Похоже, вы можете использовать наследование как мягкий отказ в доступе. Это именно то, что я искал. – Teeknow

Смежные вопросы