IT TIP

Node.js 애플리케이션에 대한 권한 부여 접근 방식 및 디자인 패턴

itqueen 2020. 10. 12. 21:20
반응형

Node.js 애플리케이션에 대한 권한 부여 접근 방식 및 디자인 패턴


내부 엔터프라이즈 소프트웨어 플랫폼을위한 다중 페이지 관리 인터페이스를 구축하고 있습니다. 다양한 API, db 쿼리 및 셸 스크립트를 함께 묶는 많은 글루 로직을 생각하십시오.

우리는 node.js, Express 프레임 워크 (jade 템플릿 포함) 및 인증을 위해 LDAP를 사용할 것입니다.

노드 응용 프로그램에서 인증을위한 디자인 패턴 및 모범 사례에 대한 정보를 찾기 위해 고군분투하고 있습니다. 가급적이면 사용자가 해당 접근 방식과 관리 및 공급에 익숙하기 때문에 역할 기반 모델을 사용하고 싶습니다.

저는 node.js를 처음 사용하므로 이미 모듈이나 인기있는 블로그 게시물을 본 적이 있다고 가정하지 마십시오. 풍부한 정보가있을 가능성이 높고 어디를보아야할지 모르겠습니다.

제공 할 수있는 모든 정보에 미리 감사드립니다!


첫 번째 질문에 따라 NodeJ에서 일부 권한 부여 프로세스 구현을 원합니다. NodeJ의 API 수를 탐색하고 사용했습니다. 엔터프라이즈 애플리케이션을 위해 다음 API를 선호합니다.

  • 인증 : AngularJS에서 SPA (프론트 엔드)를 개발하는 경우 Passport 또는 Satellizer .

  • 권한 부여 : ACL . 메소드 및 REST API에 대한 역할 기반 보안.

둘째, NodeJ에서 구현 및 개발 접근 방식을 원합니다.

  • 쉽고 내가 가장 좋아하는 디자인 패턴과 NodeJ를위한 프레임 워크 : MVC 프레임 워크, SailsJs . 바로 시작할 수있는 모듈 식 아키텍처입니다. 코드 관리는 장기적으로 쉽습니다 (엔터프라이즈 응용 프로그램에 가장 실용적인 요구 사항). 간편한 유지 보수. SailsJs는 또한 Socket.io로 미리 구성되어 있어 프로젝트에서 실시간 모듈, 위젯, 채팅 위젯을 만들 수 있습니다.

  • Express Express 를 사용하여 사용자 지정 MVC 프로젝트 구조를 디자인 할 수 있습니다. 이것은 또한 인기 있고 강력합니다. Yeoman 에서 같은 인기 종자 프로젝트를 찾을 수 있습니다.

  • Redis 캐싱 또는 세션 계층으로. 클라우드에서 애플리케이션을 n 번째 인스턴스로 확장하는 것을 차단하지 않기 때문에 항상 별도의 캐싱 또는 세션 계층을 사용하는 것이 좋습니다.

  • RedisSocket.io 를 사용하여 지리적 위치 , 사용자 존재 (온라인 / 오프라인), 채팅, 푸시 알림 등과 같은 실시간 기능을 만들 수 있습니다 .

  • ORM : 워터 라인 . 쉬운 쿼리 접근 방식. 또한 SailsJs의 내장 및 기본 ORM입니다. SailsJs 를 사용 하지 않는 경우 Sequelizejs 를 사용할 수도 있습니다 . DB 공급자가 제공하는 기본 커넥터를 사용하는 것이 좋습니다.

  • 데이터베이스 : 귀하의 요구 사항에 따라. Waterline ORM은 PostgreSQL, MySQL, MongoDB 등을 지원합니다.

  • 내가 좋아하는 뷰 엔진 : EJS . 프레젠테이션 레이어를 개발하기 위해 새로운 것을 배울 필요가 없습니다. 또한 SailsJs의 내장 및 기본 뷰 엔진이기도하므로 내가 SailsJs의 팬입니다.

NodeJ에서 엔터프라이즈 애플리케이션을 만드는 데 필요한 모든 중요한 정보를 다뤘다 고 생각합니다. 위의 패키지가 최고라고 말하지는 않지만 협력 적으로 모든 엔터프라이즈 시나리오에 가장 잘 맞을 수 있습니다. 자신의 요구 사항에 따라 사용할 수있는 다른 알려진 패키지가 있습니다.


시작하기위한 몇 가지 정보는 다음과 같습니다.

더 쉽게 시작할 수 있기를 바랍니다.


또 다른 옵션은 MongoDB와 매우 잘 통합 된 CASL 을 사용 하는 것입니다. - 또한 방법 expressjs 응용 프로그램에 CASL에 따라 itegrate 허가의 기사가 https://medium.com/@sergiy.stotskiy/authorization-with-casl-in-express-app-d94eb2e2b73b은


Node-Authorization 도 좋은 후보 라고 말해야 합니다. 아이디어는 SAP (ERP provider)에서 빌려온 것으로 객체 지향 인증입니다. 또한 Passport 및 Express와 같은 다른 프레임 워크와 함께 사용할 수도 있습니다.

참고 URL : https://stackoverflow.com/questions/13546249/authorization-approaches-and-design-patterns-for-node-js-applications

반응형