2014-11-28 2 views
1

У меня есть приложение, где пользователи могут иметь несколько различных типов ролейИ/ИЛИ для ролей в ACLS LOOPBACK в

Статические Роли: каждый определяет различный уровень разрешений, пользователь переходит к одному из них роли

  • adminUser
  • PowerUser
  • baseUser

Динамическая роль:

  • accountMember: эта роль назначается, если ресурс пользователь пытается получить доступ принадлежит к той же учетной записи.

Теперь, скажем, у меня есть две конечные точки:

  • /AddUsers: для того, чтобы получить доступ к этой конечной точке, пользователь должен иметь adminUser роль, а также accountMember Роль adminUser && accountMember
  • /editUsers: для доступа к этой конечной точке пользователь должен иметь adminUser или powerUser Роль, а также accountMember Роль. например (powerUser || adminUser) && accountMember

Предполагая, что роли применяются правильно, как реализовать логику AND/OR с помощью ACLS-массива loopback?

+0

Его очень правильный сценарий, пожалуйста, разместите его в группе google, разработчики там очень активны. – Nishant

ответ

0

Вот поток я придумал для (powerUser || adminUser) && accountMember

[DENY *$everyone* for all methods] 

[ALLOW *accountMember* on */editUsers*] 

[DENY *baseUser* on */editUsers*] 

и adminUser && accountMember

[DENY *$everyone* for all methods] 

[ALLOW *accountMember* on */editUsers*] 

[DENY *baseUser* on */editUsers*] 

[DENY *powerUser* on */editUsers*] 

мне не очень нравится, хотя, потому что я должен был добавить другую роль пользователя, то я пришлось бы отредактировать много ACLS. Я предпочел бы неявно разрешить adminUser вместо того, чтобы отрицать все остальные типы пользователей.