Size: a a a

2018 January 08

RM

Ruslan Molchanov in Java Developers
Но с аспектами вы явно не в том направлении копаете. Вашу задачу без труда решит имеющийся Spring Security инструментарий.
источник

DT

Dmitry Teplov in Java Developers
Это похоже на то же самое, разве что права доступа назвали ролями, а роли - группами. Те же яйца, только в профиль. Но тут возникают вопросы: где и как хранить описание ролей? Групп? Как конечный пользователь сможет создавать группы?
источник

RM

Ruslan Molchanov in Java Developers
Dmitry Teplov
Это похоже на то же самое, разве что права доступа назвали ролями, а роли - группами. Те же яйца, только в профиль. Но тут возникают вопросы: где и как хранить описание ролей? Групп? Как конечный пользователь сможет создавать группы?
Верно. Разница лишь в терминологии.
источник

SU

Sergey Ushakov in Java Developers
spring security позволяет применять ACL вплоть до конкретных параметров методов.
источник

RM

Ruslan Molchanov in Java Developers
Роли - это набор функциональности. Они в коде защиты, справочник в БД. Остальное вокруг кружите как хотите.
источник

SU

Sergey Ushakov in Java Developers
скажем, залогинен пользователь User1 и у него есть право (ACL) на работу с объектом "Object1"
источник

RM

Ruslan Molchanov in Java Developers
Sergey Ushakov
spring security позволяет применять ACL вплоть до конкретных параметров методов.
Ну ACL это не их случай.
источник

SU

Sergey Ushakov in Java Developers
вот можно проверить в динамике, что вызываемый метод какого-то сервиса внутри апликухи от имени User1 допустим, только если передаваемый параметр "Object1"
источник

RM

Ruslan Molchanov in Java Developers
Важно понимать, что в контексте Spring Security, пермишенами называют именно ACL доступ.
источник

SU

Sergey Ushakov in Java Developers
роли — они позволяют разрулить на уровне маркировки методов.
источник

SU

Sergey Ushakov in Java Developers
ACL — на уровне параметров к методам
источник

RM

Ruslan Molchanov in Java Developers
Нуууу.....такое себе определение. Не согласен про параметры. Я могу и без ACL закрыть доступ по параметрам.
источник

RM

Ruslan Molchanov in Java Developers
Например, в @PreAuth("order.userId == #principal.id")
(псевдокод)
источник

SU

Sergey Ushakov in Java Developers
PreAuth придется развешивать по всем методам
источник

SU

Sergey Ushakov in Java Developers
ACL в этом плане гибче
источник

RM

Ruslan Molchanov in Java Developers
ACL - это, скорее, разделение доступа к сущностям на уровне конкретного субъекта системы. Мало того, тип доступа к индивидуальному объекту также должен быть определен: чтение / запись /...
источник

DT

Dmitry Teplov in Java Developers
@ruslanys @ushakov_sa спасибо за подробности. Чувствую это будет моим запасным планом, если сегодня не получится по своему пройти :)
источник

RM

Ruslan Molchanov in Java Developers
Sergey Ushakov
PreAuth придется развешивать по всем методам
Разве с ACL не придется писать @PreAuth('hasPermission(write)')?
источник

SU

Sergey Ushakov in Java Developers
Ruslan Molchanov
Разве с ACL не придется писать @PreAuth('hasPermission(write)')?
думаю, что можно как-то более изящно это сделать
источник
2018 January 16

S

Serega in Java Developers
всем привет
источник