
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.05.2016, 20:57
|
|||
|---|---|---|---|
|
|||
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
Привет всем, подскажите пожалуйста, как реализовать вот такой функционал - есть коллекция (в терминах mongodb ну или табличка в контексте реляционных бд) с разными документами (записями). Нужно что бы разные пользователи приложения имели разные права на документы(записи). Т.е. на солько я понимаю мне нужно реализовать acl и ролями я не обойдусь никак. Я использую spring security. Если acl - может у там есть какие то грабли, о которых стоит знать ? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 21:08
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
alexander00513Привет всем, подскажите пожалуйста, как реализовать вот такой функционал - есть коллекция (в терминах mongodb ну или табличка в контексте реляционных бд) с разными документами (записями). Нужно что бы разные пользователи приложения имели разные права на документы(записи). Т.е. на солько я понимаю мне нужно реализовать acl и ролями я не обойдусь никак. Я использую spring security. Если acl - может у там есть какие то грабли, о которых стоит знать ? Спасибо. речь о веб приложении? каким образом юзеры вообще доступ получают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 21:20
|
|||
|---|---|---|---|
|
|||
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
Да, это web app, есть spring security - на данный момент есть роли - admin, user. Планируется - ограниченное колличество пользователей, которых в итоге сможет добавлять супер администратор, но сейчас не об этом, и табличка в которую писать могу все эти пользователи, но читать и редактировать они могут только свои записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 21:29
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
alexander00513Да, это web app, есть spring security - на данный момент есть роли - admin, user. Планируется - ограниченное колличество пользователей, которых в итоге сможет добавлять супер администратор, но сейчас не об этом, и табличка в которую писать могу все эти пользователи, но читать и редактировать они могут только свои записи. ну так писать и редактировать это же будет отдельный контроллер?? по отдельному ури?? вот его в секурити группу и добавляйте. если лень. то можно сделать бин, привязанный к сессии, внутри которого будет из секурити контекста доставаться юзер и его группы. группы же есть??? а дальше. либо описываете в секурити конфиг конкретный ури куда можно кому и нельзя, либо в контроллере указываете конкретно на действие условие типа доставая из бина isAdmin. isUser, и т.п. -- как удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 21:43
|
|||
|---|---|---|---|
|
|||
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
не уверен... Есть одна таблица - к примеру pets (домашние животные), каждый пользователь может писать в неё, читать может только свои записи, редактировать и удалять тоже только свои. И по прямой ссылке он не должен делать никаких манипуляций с данными других пользователей и не должен их видеть. Я конечно могу написать логику, которая бы проверяла кому принадлежит запись и либо отдавать её либо бросать исключение, можно это сделать в сервис логике либо на уровне sql и dao... но есть же acl, который по идее всем этим и должен заниматься сам, и spring 4 его поддерживает и выделен в отдельный модуль, как выяснилось, правда судя по всему пока не рабтает с докуентоориентированными БД... Просто не очень хочется костылей... хотя с другой стороны, пока что, можно обойтись и представленными выше решениями... В целом интересно - кто то уже использовал acl spring 4 ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 22:05
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
это просто делается грамотными запросами. как два пальца.... мозахисты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 22:11
|
|||
|---|---|---|---|
|
|||
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
т.е. к каждому запросу добавлять where user ... ? Я правильно понял ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 22:16
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
alexander00513, да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 22:17
|
|||
|---|---|---|---|
|
|||
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
Всм спасибо за ответы, буду пилить запросы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 22:21
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
фигасе костыль. брать креденшиалы с юзера - костыль?? речь в первом сообщении шла о группах вообще а не юзерах. ну хотите по юзерам - передавайте юзера в дао и пусть он выдает нужные листы вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.05.2016, 23:49
|
|||
|---|---|---|---|
Spring Security и разные права доступа в контексте одной таблицы |
|||
|
#18+
Если ставить более глобально задачу (тоесть ограничивать доступ не только со стороны аппликейшена) то надо курить возможности mongo. Насчет нее не скажу т.к. не специалист. НО еслибы это был Oracle то там были коробочные решения. Oracle VPD (Virt.Prid.Db) как бесплатный вариант. И OLD (Ora.Label.Sec). Последний стоит денег. А так... правильно скзали. Юзайте DAO с аргументом current_user. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2124025]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 390ms |

| 0 / 0 |
