2016-11-07 9 views
0

Я написал API в рельсах, который имеет архитектуру микросервисов. В моем API мне нужно реализовать авторизацию роли, чтобы разрешить каждому пользователю использовать их роли. Есть ли какой-либо камень, который вписывается в архитектуру микросервисов, или я должен написать свою собственную логику для авторизации пользователей. Я использовал gem authorization gem, но он предоставляет много возможностей, которые вписываются в архитектуру микросервисов. (Rolify) Есть ли другой, который подходит архитектуре микросервисов?Как использовать авторизацию роли для архитектуры микросервисов?

Спасибо заранее.

ответ

0

Природный камень является лидером в отрасли. Все его методы полностью настраиваются - их можно использовать как before_action (типичное использование, но не идеальное для микросервисов), а также можно использовать как еще один метод в вашем коде (внутри блока, в выражении «if» и т. Д.). Оформить заказ страницы github здесь https://github.com/plataformatec/devise

У этого есть так много функциональности, я мог бы преподавать весь курс на этом камне. Есть много, чтобы узнать, если вы еще не знакомы.

+0

да! Я узнал кое-что о том, что я уже использую для аутентификации, генерирующей токен, и все это, но подходит ли он для авторизации? – chinna2580

+0

Да. Просмотрите документацию, в частности, authenticate_user! метод. Этот метод проверяет, чтобы пользователь вошел в систему. Вы также можете добавить столбец «роль» в свою модель пользователя в своей базе данных, причем эта роль является строкой («admin» или «покупатель» или «продавец» и т. Д.), Вы можно вручную проверить (если current_user.role == "admin"), или вы можете определить свои собственные методы разработки, подобные этой ручной проверке, и придать ему причудливое имя, если хотите. – borbesaur