Контроль доступа, Права в Scala, Play Framework

Необходимо создать права доступа, модуль управления доступом в текущем проекте, где ACL идет на подробном уровне, например.

Role1 can view Page1 and add ALL the fields on Page1
Role2 can view page1 and can only view 4 fields on page1
Role3 can't view page1

Это было для авторизации. Также есть требования к регистрации/аутентификации. Пользовательская регистрация будет иметь несколько полей, которые заполнит новый пользователь, и если он уже был зарегистрированным пользователем, то пользователь будет использовать страницу входа. SecureSocial был упомянут для игровой платформы, но он не гибкий (по крайней мере, для создания пользовательской регистрационной формы и т. д.).

В прошлом (во время работы над проектами Java) использовал crosslogix (я думаю, что Oracle Entitlement Server является его предшественником) для разметки подробных прав для каждой роли, ресурса и т. д. Существуют ли какие-либо замены OSS или какие другие библиотеки/фреймворки вы рекомендуете в Scala, Играть в мир фреймворков?


person Vikas Pandya    schedule 28.04.2014    source источник


Ответы (2)


SecureSocial имеет возможность предоставить пользовательскую страницу регистрации:

http://securesocial.ws/guide/views-customization.html

и Deadbolt 2 обрабатывает часть авторизации:

https://github.com/schaloner/deadbolt-2

Вот пример приложения, использующего Slick 2.0:

https://github.com/lunatech-labs/lunatech-securesocial-poc

person Will Sargent    schedule 29.04.2014
comment
Deadbolt 2 выглядит весьма полезным. Обидно, однако, что на данный момент документации по Scala катастрофически не хватает. Но, по крайней мере, есть живая документация по Scala, которая показывает, как с ней начать. - person jlr; 08.08.2014

Рассмотрите возможность использования XACML, расширяемого языка разметки управления доступом. Он определяет язык политики на основе атрибутов и может легко реализовать перечисленные здесь сценарии.

Доступно несколько реализаций. Вы упомянули OES, в котором используется старая версия XACML. В мире OSS обратите внимание на SunXACML, Heras AF, ForgeRock и WSO2.

В пространстве поставщиков проверьте Axiomatics (отказ от ответственности: это компания, в которой я работаю).

person David Brossard    schedule 29.04.2014