RSS DEV 커뮤니티
팔로우
Rhino 프레임워크 심층 분석: 파트 2 (인증 및 CrudController)
Rhino는 토큰 기반 방식을 통해 사용자 인증을 처리하기 위해 Devise를 사용하며, 이를 통해 사용자 신원 확인을 보장합니다. 권한 부여는 Pundit와 Rolify를 통해 관리되며, API 엔드포인트를 보호하고 사용자 권한을 정의합니다. `rhino_organizations` 모듈은 Rolify를 통합하여 정교한 역할 기반 접근 제어를 구현합니다. Rhino의 보안은 "기본적으로 거부" 원칙, 즉 최소 권한의 원칙을 기반으로 구축되었습니다. CrudController는 Devise, Pundit, Rolify를 활용하여 권한 부여 규칙을 적용합니다. 프레임워크는 액션 내에서 `authorize`를 사용하여 권한 부여 검사를 초기화합니다. CrudPolicy는 디스패처 역할을 수행하여 권한 부여를 특정 역할 기반 정책으로 전달합니다. 동일한 디스패처 패턴은 데이터 유출을 방지하기 위해 데이터 범위 지정에도 적용됩니다. Rhino는 UNION 문을 사용하여 모든 사용자의 역할에서 범위 지정 결과를 집계합니다. Rhino는 CrudPolicy를 사용하여 CRUD 액션의 권한 부여 흐름을 제어합니다. 이러한 아키텍처는 강력하고 안전한 API 개발을 보장합니다.