Подтвердить что ты не робот

Подходы к авторизации и шаблоны проектирования для приложений Node.js

Я создаю интерфейс администрирования с несколькими страницами для внутренней платформы корпоративного программного обеспечения. Подумайте много логики клея, связывающей различные API, запросы db и сценарии оболочки.

Мы будем использовать node.js, экспресс-фреймворк (включая нефритовые шаблоны) и LDAP для аутентификации.

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

Я новичок в node.js, поэтому, пожалуйста, не предполагайте, что я уже видел модуль или популярное сообщение в блоге. Вероятно, есть масса информации, и я просто не знаю, где искать.

Заранее благодарим за любую информацию, которую вы можете предоставить!

4b9b3361

Ответ 1

В соответствии с вашим первым вопросом вы хотите выполнить некоторую процедуру авторизации в NodeJ. Я изучил и использовал количество API-интерфейсов NodeJ. Я бы предпочел использовать API для корпоративных приложений.

  • Для аутентификации: Passport или Satellizer, если разрабатывать SPA (front-end) в AngularJS.

  • Для авторизации: ACL. Ролевая безопасность для методов и API REST.

Во-вторых, вам нужен какой-то подход к внедрению и разработке в NodeJ.

  • Легкий и мой любимый шаблон дизайна и Framework для NodeJs: MVC framework, SailsJs. Для его готовой к запуску и модульной архитектуры. Управление кодами легко в долгосрочной перспективе (большинство практических требований для корпоративного приложения). Простое обслуживание. SailsJs также предварительно сконфигурирован с Socket.io, с помощью которого вы можете создавать в своем проекте модули реального времени, виджеты, виджеты чатов в вашем проекте.

  • Express Вы можете использовать Express и создать свою собственную структуру проекта MVC. Это также популярно и надежно. Вы можете найти популярные семенные проекты того же самого на Yeoman

  • Redis Как уровень кэширования или сеанса. Всегда полезно использовать отдельный кешинг или сеансовый уровень, поскольку он не будет блокировать вас для масштабирования вашего приложения в облаке до n-го экземпляра.

  • Вы можете использовать Redis и Socket.io, чтобы создавать функции реального времени, такие как Географическое расположение, присутствие пользователя (онлайн/офлайн), чат, уведомление и многое другое.

  • ORM: Waterline. Для его простого подхода к поиску. Это также встроенный и по умолчанию ORM SailsJs. Вы также можете использовать Sequelizejs, если не используете SailsJs. Я бы рекомендовал использовать родные коннекторы, предоставляемые поставщиками баз данных.

  • База данных: согласно вашему требованию. Waterline ORM поддерживает PostgreSQL, MySQL, MongoDB и т.д.

  • Мой движок просмотра faviourite: EJS. Нет необходимости изучать новые вещи для разработки вашего уровня презентации. Это также встроенный и стандартный механизм просмотра SailsJs, поэтому я поклонник SailsJs.

Я думаю, что я затронул всю важную информацию для создания корпоративного приложения в NodeJ. Я не говорю, что выше пакетов лучше, но в совокупности они лучше всего подходят для любого сценария предприятия. Существуют и другие известные пакеты, которые вы можете использовать в соответствии с вашим собственным требованием.

Ответ 2

Ниже приведена информация:

Надеюсь, что это облегчит запуск.

Ответ 3

Я должен сказать Node -Authorization также является хорошим кандидатом. Идея заимствована у SAP (поставщик ERP), это объектно-ориентированная авторизация. И он также может использоваться в качестве аккомпанемента с другими фреймворками, такими как Passport и Express.