Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security и разные права доступа в контексте одной таблицы / 11 сообщений из 11, страница 1 из 1
24.05.2016, 20:57
    #39242720
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
Привет всем, подскажите пожалуйста, как реализовать вот такой функционал - есть коллекция (в терминах mongodb ну или табличка в контексте реляционных бд) с разными документами (записями). Нужно что бы разные пользователи приложения имели разные права на документы(записи). Т.е. на солько я понимаю мне нужно реализовать acl и ролями я не обойдусь никак. Я использую spring security. Если acl - может у там есть какие то грабли, о которых стоит знать ? Спасибо.
...
Рейтинг: 0 / 0
24.05.2016, 21:08
    #39242725
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
alexander00513Привет всем, подскажите пожалуйста, как реализовать вот такой функционал - есть коллекция (в терминах mongodb ну или табличка в контексте реляционных бд) с разными документами (записями). Нужно что бы разные пользователи приложения имели разные права на документы(записи). Т.е. на солько я понимаю мне нужно реализовать acl и ролями я не обойдусь никак. Я использую spring security. Если acl - может у там есть какие то грабли, о которых стоит знать ? Спасибо.
речь о веб приложении? каким образом юзеры вообще доступ получают?
...
Рейтинг: 0 / 0
24.05.2016, 21:20
    #39242730
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
Да, это web app, есть spring security - на данный момент есть роли - admin, user. Планируется - ограниченное колличество пользователей, которых в итоге сможет добавлять супер администратор, но сейчас не об этом, и табличка в которую писать могу все эти пользователи, но читать и редактировать они могут только свои записи.
...
Рейтинг: 0 / 0
24.05.2016, 21:29
    #39242733
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
alexander00513Да, это web app, есть spring security - на данный момент есть роли - admin, user. Планируется - ограниченное колличество пользователей, которых в итоге сможет добавлять супер администратор, но сейчас не об этом, и табличка в которую писать могу все эти пользователи, но читать и редактировать они могут только свои записи.
ну так писать и редактировать это же будет отдельный контроллер?? по отдельному ури?? вот его в секурити группу и добавляйте. если лень. то можно сделать бин, привязанный к сессии, внутри которого будет из секурити контекста доставаться юзер и его группы. группы же есть??? а дальше. либо описываете в секурити конфиг конкретный ури куда можно кому и нельзя, либо в контроллере указываете конкретно на действие условие типа доставая из бина isAdmin. isUser, и т.п. -- как удобнее.
...
Рейтинг: 0 / 0
24.05.2016, 21:43
    #39242737
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
не уверен... Есть одна таблица - к примеру pets (домашние животные), каждый пользователь может писать в неё, читать может только свои записи, редактировать и удалять тоже только свои. И по прямой ссылке он не должен делать никаких манипуляций с данными других пользователей и не должен их видеть. Я конечно могу написать логику, которая бы проверяла кому принадлежит запись и либо отдавать её либо бросать исключение, можно это сделать в сервис логике либо на уровне sql и dao... но есть же acl, который по идее всем этим и должен заниматься сам, и spring 4 его поддерживает и выделен в отдельный модуль, как выяснилось, правда судя по всему пока не рабтает с докуентоориентированными БД... Просто не очень хочется костылей... хотя с другой стороны, пока что, можно обойтись и представленными выше решениями... В целом интересно - кто то уже использовал acl spring 4 ? :)
...
Рейтинг: 0 / 0
24.05.2016, 22:05
    #39242741
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
это просто делается грамотными запросами.
как два пальца....
мозахисты...
...
Рейтинг: 0 / 0
24.05.2016, 22:11
    #39242742
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
т.е. к каждому запросу добавлять where user ... ? Я правильно понял ?
...
Рейтинг: 0 / 0
24.05.2016, 22:16
    #39242743
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
alexander00513,
да
...
Рейтинг: 0 / 0
24.05.2016, 22:17
    #39242744
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
Всм спасибо за ответы, буду пилить запросы :)
...
Рейтинг: 0 / 0
24.05.2016, 22:21
    #39242745
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
фигасе костыль. брать креденшиалы с юзера - костыль?? речь в первом сообщении шла о группах вообще а не юзерах. ну хотите по юзерам - передавайте юзера в дао и пусть он выдает нужные листы вам.
...
Рейтинг: 0 / 0
24.05.2016, 23:49
    #39242778
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Security и разные права доступа в контексте одной таблицы
Если ставить более глобально задачу (тоесть ограничивать доступ не только со
стороны аппликейшена) то надо курить возможности mongo. Насчет нее не скажу
т.к. не специалист. НО еслибы это был Oracle то там были коробочные решения.
Oracle VPD (Virt.Prid.Db) как бесплатный вариант. И OLD (Ora.Label.Sec). Последний
стоит денег.

А так... правильно скзали. Юзайте DAO с аргументом current_user.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security и разные права доступа в контексте одной таблицы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]