Я настраиваю новый веб-сервис RESTful и мне нужно предоставить модель управления доступом на основе ролей . Мне нужно создать архитектуру, которая позволит пользователям предоставлять свое имя пользователя и пароль для получения доступа к сервисам, а затем ограничивать использование ими сервисов (какие сервисы они могут использовать, чтение против чтения / записи и т. Д.) В зависимости от ролей. назначен этим пользователям.
Я посмотрел вокруг на другие вопросы и нашел кусочки того, что я хочу. Например, есть несколько хороших обсуждений о том, как обрабатывать передачу учетных данных службам REST restful-аутентификации , лучшие практики . Есть также несколько хороших указателей на то, что программисты должны знать при создании веб-сайтов ( что должен знать каждый разработчик перед созданием общедоступного веб-сайта ).
Но мне не удалось найти хорошую статью, статью, книгу о передовых практиках и шаблонах для программной архитектуры, которая реализует эти решения.
В частности:
- Как хранить данные пользователя и права доступа? (модель данных, местоположение, формат)
- Каковы хорошие шаблоны проектирования для представления и отслеживания их на сервере? (сессии в памяти, поиск в БД каждый раз и т. д.)
- Каковы хорошие шаблоны для безопасного сопоставления этих прав с сервисами в базе кода?
- Какие архитектурные решения могут помочь сделать систему более безопасной и надежной?
- Какие уроки извлекли люди из окопов?
Я ищу шаблоны проектирования и рекомендации для архитектуры программного обеспечения вне каких-либо конкретных технологий.
(Если технологии имеют значение, я планирую реализовать это, используя python, twisted и базу данных postgresql)
Ответы:
OpenAM.
http://forgerock.com/openam.html
Диспетчер личных данных Отдельно от любого веб-сервера. LDAP основе.
Решено вашими рамками. Не думай больше. Просто используйте уже созданные хорошие шаблоны вашего фреймворка.
Решено вашими рамками. Каждая структура использует немного другой подход. У каждого языка есть свои особенности. Django, например, активно использует для этого декораторы Python.
Больше? Больше чем что?
источник