powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Почти как у асв78. Пермишены и джойны.
20 сообщений из 20, страница 1 из 1
Почти как у асв78. Пермишены и джойны.
    #39835089
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем классика. есть юзер юзерам надо дать права. раньше была роль одна но надо теперь сделать модель с пермишшенами.

ну ок. всё замечательно. делаем как обычно - т.е. таблица пермишены. и таблица юзер-пермишен. всё гут. всё банально и как у всех.
идем дальше - ой у нас слик. про слик и джойны я тут уже вещал. выглядит как гумно. иначе не делается. вариант создавать сущность:
UserPermissions(user:User, permissions:Seq<Permission>) и делать длинные колбасы с палочками и точками в репозитории для джойнов.
-- наверное сойдет.

НО. а если сделать такую модель вообще без джойнов?

есть сущность юзер. у сущности юзер есть поле енамов: пермишшнз. в базе храним просто поле массив стрингов где эти пермишшены и хранятся типа {auditor, watcher, producer} и т.п.

из плюсов: мы избавляемся от джойнов.
из минусов: мы теряем реляцию. мы не сможем лихо скажем,переименовать их. или изобретать велосипед с подсчетом и т.д. и т.п. всё что относится к реляциям.
но тут вопрос: а нужна ли она? я вот не уверен что какие нибудь большие системы вообще юзают реляционные модели.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835121
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в чем?

Храните все в текстовом файле.
Из плюсов:
1. Мы избавляемся от join'ов
2. Мы избавляемся об базы данных. Profit!
Из минусов:
1. Не подумает ли начальство избавиться и от программистов?

p.s. денормализация всегда была и будет. Но для этого и есть программист. что бы принять решение, требует ли его задача нормализацию или, наоборот, будет лучше денормализовать структуру.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835128
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Уже давно авторизация сидит в отдельной базе или подБазе. И имеет 10-15таблиц.
Смотри спринг. Самому не надо проектировать.
Без спринга EE server.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835141
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем тут спринг? в спринге думаешь юзерроль будет по-другому иметь отношения? там точно так же как хранилище и в каком виде это держать будет только ты. у них есть в доках рекомендации но это совсем уж примитивные кейсы.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835142
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВопрос в чем?

Храните все в текстовом файле.
Из плюсов:
1. Мы избавляемся от join'ов
2. Мы избавляемся об базы данных. Profit!
Из минусов:
1. Не подумает ли начальство избавиться и от программистов?

p.s. денормализация всегда была и будет. Но для этого и есть программист. что бы принять решение, требует ли его задача нормализацию или, наоборот, будет лучше денормализовать структуру.
да. вот я и не могу решить нужна она или нет в данном случае. и какие от нее будут профиты. и текстовые файлы тоже решение кстати. но не в данном случае. у меня две опции - нормализованно но с "особенностями" слика (надо лопатить много кода), либо денормализованно - кода меньше, но другие нюансы возникают.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835154
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTпричем тут спринг? впросто пример жизненный прдумай
В спинге. security уже решены все отношения.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835159
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpandreykaTпричем тут спринг? впросто пример жизненный прдумай
В спинге. security уже решены все отношения.
ничего там не решено. ты вообще в глаза его видел? откуда спринг знает что ты хочешь и как? он тебе только удобный набор конфигурируемых либ даст. а то как ты заюзаешь свои права и где и как - это сам всё делаешь ручками.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835170
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Ok.
Давай без спринг
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835172
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTбазе храним просто поле массив стринговоткрываем ee server, admin, security и там указваем поля для связей с юзверем.
В чем вопрос?
Если общий то модель хранения решаешь ты сам. И денормализацию.
Тебе ответили.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835178
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты мне отвечаешь на вопрос которого я не задавал.

к слову, в спринге ты можешь например, лдап использовать для хранени разрешений и отношений юзеров к ним. вообще без базы. представляешь? :) и без спринга в том числе.

у меня же вопрос был до банальности простой - хранить разрешения в денормализованном виде или в нормализованном.
и вопрос в связи с этим - насколько это целесообразно хранить так и может это вообще с точки зрения дизайна - антишаблон.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835185
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTты мне отвечаешь на вопрос которого я не задавал.ответил я и выше мембер. Денормализация решать тебе.

andreykaTслову, в спринге ты можешь например, лдап использовать для хранени разрешений и отношений юзеров к ним. вообще без базы. представляешь? :) и без спринга в том числе.ну и в ee server хоть по почте получай Realm object
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835186
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Ну и в GlassFish отношения в web.xml.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835188
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTс точки зрения дизайна - антишаблон.
Бери одну конкретную колбаску и ее описывай.
Тогда может ответят как сделать без колбаски.
И код не забудь.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835259
dimonz80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaTв общем классика. есть юзер юзерам надо дать права. раньше была роль одна но надо теперь сделать модель с пермишшенами.

ну ок. всё замечательно. делаем как обычно - т.е. таблица пермишены. и таблица юзер-пермишен. всё гут. всё банально и как у всех.
идем дальше - ой у нас слик. про слик и джойны я тут уже вещал. выглядит как гумно. иначе не делается. вариант создавать сущность:
UserPermissions(user:User, permissions:Seq<Permission>) и делать длинные колбасы с палочками и точками в репозитории для джойнов.
-- наверное сойдет.

НО. а если сделать такую модель вообще без джойнов?

есть сущность юзер. у сущности юзер есть поле енамов: пермишшнз. в базе храним просто поле массив стрингов где эти пермишшены и хранятся типа {auditor, watcher, producer} и т.п.

из плюсов: мы избавляемся от джойнов.
из минусов: мы теряем реляцию. мы не сможем лихо скажем,переименовать их. или изобретать велосипед с подсчетом и т.д. и т.п. всё что относится к реляциям.
но тут вопрос: а нужна ли она? я вот не уверен что какие нибудь большие системы вообще юзают реляционные модели.

От реляций избавляются когда ACL разрастается до ужаса (N юзеров * M пермишнов -> Inf). Тогда да: плоская модель, битовые маски и т/п, но твоя поделка никогда до таких объемов не разрастется.

Если проблема чисто в slick то выкинь его и пользуй anorm какой-нить Вот наример так
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835263
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimonz80От реляций избавляются когда ACL разрастается до ужасатоже вот смотрю. У нас в java прогер напигет 3 раза if и сразу в форум что это некрасиво и нужен паттерн избавления от if.
То есть тема без описания проблемы внятно и указания в теме что Scala.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835269
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimonz80andreykaTв общем классика. есть юзер юзерам надо дать права. раньше была роль одна но надо теперь сделать модель с пермишшенами.

ну ок. всё замечательно. делаем как обычно - т.е. таблица пермишены. и таблица юзер-пермишен. всё гут. всё банально и как у всех.
идем дальше - ой у нас слик. про слик и джойны я тут уже вещал. выглядит как гумно. иначе не делается. вариант создавать сущность:
UserPermissions(user:User, permissions:Seq<Permission>) и делать длинные колбасы с палочками и точками в репозитории для джойнов.
-- наверное сойдет.

НО. а если сделать такую модель вообще без джойнов?

есть сущность юзер. у сущности юзер есть поле енамов: пермишшнз. в базе храним просто поле массив стрингов где эти пермишшены и хранятся типа {auditor, watcher, producer} и т.п.

из плюсов: мы избавляемся от джойнов.
из минусов: мы теряем реляцию. мы не сможем лихо скажем,переименовать их. или изобретать велосипед с подсчетом и т.д. и т.п. всё что относится к реляциям.
но тут вопрос: а нужна ли она? я вот не уверен что какие нибудь большие системы вообще юзают реляционные модели.

От реляций избавляются когда ACL разрастается до ужаса (N юзеров * M пермишнов -> Inf). Тогда да: плоская модель, битовые маски и т/п, но твоя поделка никогда до таких объемов не разрастется.

Если проблема чисто в slick то выкинь его и пользуй anorm какой-нить Вот наример так
Откуда ты знаешь что у меня за поделка и до чего она не разрастается?

Я бы рад чтоб она не разрослась. Но увы она разрастается.

Отличный совет выкинь слик. Я не хочу его выкидывать потому что он уже заюзан и твой анорм тоже не идеален и в нем косяк будет где нибудь в другом месте. Зачем мне это надо?

Слик странненький но ничего лучше под скалу не придумали пока.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835270
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpdimonz80От реляций избавляются когда ACL разрастается до ужасатоже вот смотрю. У нас в java прогер напигет 3 раза if и сразу в форум что это некрасиво и нужен паттерн избавления от if.
То есть тема без описания проблемы внятно и указания в теме что Scala.
У меня есть коллега мы с ним одно время работали на одном проекте так вот он раз зафигачил 6 вложенных ифов. С его точки зрения было почти норм. Наверное твой знакомый. С моей это было нет и отправился он искать шаблон от избавления от 6 не следует ифов
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835287
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
)) да. С моей т.з. 6 if для машины ничто. Так как я с десктопа начинал. Там в Оси у MS и в коде от MS их сотни. В циклах обработки сообщений.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835371
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimonz80andreykaTв общем классика. есть юзер юзерам надо дать права. раньше была роль одна но надо теперь сделать модель с пермишшенами.

ну ок. всё замечательно. делаем как обычно - т.е. таблица пермишены. и таблица юзер-пермишен. всё гут. всё банально и как у всех.
идем дальше - ой у нас слик. про слик и джойны я тут уже вещал. выглядит как гумно. иначе не делается. вариант создавать сущность:
UserPermissions(user:User, permissions:Seq<Permission>) и делать длинные колбасы с палочками и точками в репозитории для джойнов.
-- наверное сойдет.

НО. а если сделать такую модель вообще без джойнов?

есть сущность юзер. у сущности юзер есть поле енамов: пермишшнз. в базе храним просто поле массив стрингов где эти пермишшены и хранятся типа {auditor, watcher, producer} и т.п.

из плюсов: мы избавляемся от джойнов.
из минусов: мы теряем реляцию. мы не сможем лихо скажем,переименовать их. или изобретать велосипед с подсчетом и т.д. и т.п. всё что относится к реляциям.
но тут вопрос: а нужна ли она? я вот не уверен что какие нибудь большие системы вообще юзают реляционные модели.

От реляций избавляются когда ACL разрастается до ужаса (N юзеров * M пермишнов -> Inf). Тогда да: плоская модель, битовые маски и т/п, но твоя поделка никогда до таких объемов не разрастется.

Если проблема чисто в slick то выкинь его и пользуй anorm какой-нить Вот наример так
у анорма одна есть неразрешимая проблемка ну или особенность. всё что в кавычках ты там пишешь в своих скл запросах оно сработает или не сработает только тогда когда это вызовут. причем вызвать это могут например, на проде тогда когда ты не ожидаешь. а оно возьмет и сломается. этакий джаваскрипт. в этом плюс слика у него есть дсл который хоть как то сопоставляется с моделью на этапе компилляции. а твой анорм упадет не дорого возьмет.
...
Рейтинг: 0 / 0
Почти как у асв78. Пермишены и джойны.
    #39835485
dimonz80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaTdimonz80пропущено...


От реляций избавляются когда ACL разрастается до ужаса (N юзеров * M пермишнов -> Inf). Тогда да: плоская модель, битовые маски и т/п, но твоя поделка никогда до таких объемов не разрастется.

Если проблема чисто в slick то выкинь его и пользуй anorm какой-нить Вот наример так
у анорма одна есть неразрешимая проблемка ну или особенность. всё что в кавычках ты там пишешь в своих скл запросах оно сработает или не сработает только тогда когда это вызовут. причем вызвать это могут например, на проде тогда когда ты не ожидаешь. а оно возьмет и сломается. этакий джаваскрипт.

Ну че ты начинаешь?! Нормально же общались)))

Анорм - просто маппер без query DSL. Причем маппинг для case class в простейшем случае даже прописывать не надо - генерится макросами из коробки. Этим и хорош. Если надо генерить простые CRUD запросы, то опять немного макросов и тривиальный недо ORM готов ))). Для рутины хватит.

andreykaTв этом плюс слика у него есть дсл который хоть как то сопоставляется с моделью на этапе компилляции. а твой анорм упадет не дорого возьмет.

всё что в кавычках ты там пишешь в своих скл запросах оно сработает или не сработает только тогда когда это вызовут.


А то что нагенерил слик ДСЛем(как и хибер критериа апи) тоже ничего не гарантирует и запросто может не сойтись со схемой БД)) БД и прикладуха - гетерогенны.

Есть еще вариант пытаться лезть с БД во время компиляции и верифицировать запросы через PrepareStatement , но это так себе идея


И ваще мне слик не зашел - писанины много!)))
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Почти как у асв78. Пермишены и джойны.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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