LINUX.ORG.RU

Посоветуйте систему авторизации (организация архитектуры приложения)

 ,


0

2

В частности, меня интересует, как эффективно организовать авторизацию с большим числом объектов и большим числом пользователей и сложными правилами. Например, у меня есть много правил, основанных на том, кто я (какие у меня роли, например), какое сейчас время и какой тип объектов меня интересует и на выходе я хочу получить множество всех объектов, к которым я имею доступ.

Какие решения я могу использовать для этого? Keycloak? ORY? (я не увидел там, как мне получить ВСЕ объекты по заданному запросу, может плохо смотрел).

Какие решения вы используете?

★★★★

JWT посмотрите

вообще динамическая соль + hmac sha256+ но в этой схеме credentials д.б. известен обоим сторонам

Не угасает интерес еще к симметричному кодированию, но тогда уже асимметрию.

anonymous ()

как эффективно организовать авторизацию с большим числом объектов и большим числом пользователей и сложными правилами. Например, у меня есть много правил, основанных на том, кто я (какие у меня роли, например), какое сейчас время и какой тип объектов

подумай о тех кто эти все правила вводит, обеспечивает и проверяет. Менее чем через год всё сведётся к правилам-задания-правил, которые (в совокупности) легко дать, просто проверить и не нужно переступать.

И главное никто не вьётся «ааа у меня нет доступа к свойству X объекта Z, а биг-боссу нужен отчёт позавчера» :-)

MKuznetsov ★★★★★ ()
Ответ на: комментарий от Rastafarra

я смотрел на gluu но так и не понял, как бы мне получить список всех доступных ресурсов

pashazz ★★★★ ()
Ответ на: комментарий от Rastafarra

Я поясню что мне нужно, вот у меня есть например API - книги и их список.

/book/1
/book/2
...
/book/n

Я хочу на /book выдавать все books к которым у меня пользователь имеет доступ (согласно каким-то правилам, не обязательно простым)

И у меня есть любая система авторизации, да хоть gluu. Я правильно понимаю, что я в любом случае не смогу сделать ничего эффективнее, чем итерация по всем правилам и select * from books where … и я для каждой схемы данных должен писать этот select вручную, и никаких intermediate обвязок не существует?

Мне интересно просто понять best practice в этом плане, т.е. если это вот такой CRUD со сложными правами. Мне важно, чтобы пользователь даже не догадывался о существовании чего-то лишнего.

pashazz ★★★★ ()
Последнее исправление: pashazz (всего исправлений: 2)
Ответ на: комментарий от pashazz

Я правильно понимаю, что я в любом случае не смогу сделать ничего эффективнее, чем итерация по всем правилам и select * from books where

Можешь каждый раз проверять правила для каждой книги. Можешь на основе правил генерировать таблицы с сылками на книги для каждого пользователя, у каждого пользователя(группы пользователей) будет своя таблица со списком доступных книг. И автоматически регенерировать таблицы при изменении правил. Правила можно не запросами sql делать а мышкой через гуй и т.д. и т.п.

Int0l ★★ ()
Последнее исправление: Int0l (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.