Node.js / NestJS

Yetkilendirme ve RBAC

Rol tabanlı erişim kontrolü, özel guard'lar, decorator'lar, izinler, kaynak sahipliği

20 mülakat soruları·
Mid-Level
1

RBAC (Role-Based Access Control) nedir?

Cevap

RBAC, kullanıcılara rollerine göre izin veren bir erişim kontrol sistemidir. Her kullanıcı için izinleri ayrı ayrı yönetmek yerine, RBAC izinleri rollerde (ör: ADMIN, USER, MANAGER) gruplar ve bu rolleri kullanıcılara atar. Bu, uygulamalarda erişim yönetimini basitleştirir ve özellikle NestJS'te özel guard'lar ve metadata decorator'larıyla kullanışlıdır.

2

Kimlik doğrulama (authentication) ile yetkilendirme (authorization) arasındaki fark nedir?

Cevap

Kimlik doğrulama, kullanıcının kimliğini (siz kimsiniz?) genellikle giriş/parola veya JWT token aracılığıyla doğrular. Yetkilendirme ise kullanıcının izinlerini (ne yapabilirsiniz?) doğrular ve roller veya izinlere göre kaynaklara erişimi kontrol eder. NestJS'te kimlik doğrulama genellikle JwtAuthGuard kullanırken, yetkilendirme erişim haklarını kontrol etmek için RolesGuard gibi özel guard'lar kullanır.

3

Hangi NestJS decorator'ı özel bir guard oluşturmaya olanak tanır?

Cevap

NestJS'te özel bir guard oluşturmak için, CanActivate arayüzünü uygulayan ve @Injectable() ile süslenmiş bir sınıf oluşturulur. Bu arayüz, boolean veya Promise döndüren canActivate(context: ExecutionContext) metodunu gerektirir. Guard daha sonra @UseGuards() ile route'lara uygulanabilir. Bu mimari, karmaşık doğrulamalar yapmak için guard'a bağımlılıkların (servisler, repository'ler) enjekte edilmesine olanak tanır.

4

RBAC'te bir 'izin' (permission) neyi temsil eder?

5

NestJS'te bir controller'a bir guard nasıl eklenir?

+17 mülakat soruları

Bir sonraki mülakatın için Node.js / NestJS'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla