Node.js / NestJS

認可とRBAC

ロールベースアクセス制御、カスタムガード、デコレーター、権限、リソースの所有権

20 面接問題·
Mid-Level
1

RBAC(Role-Based Access Control)とは何ですか?

回答

RBACは、ユーザーのロールに基づいて権限を付与するアクセス制御システムです。各ユーザーごとに権限を個別に管理する代わりに、RBACは権限をロール(例:ADMIN、USER、MANAGER)にまとめ、これらのロールをユーザーに割り当てます。これによりアプリケーションのアクセス管理が簡素化され、特にNestJSではカスタムガードやメタデータデコレーターと組み合わせて役立ちます。

2

認証と認可の違いは何ですか?

回答

認証はユーザーの身元(あなたは誰か?)を確認し、通常はログイン/パスワードやJWTトークンを介して行われます。認可はユーザーの権限(あなたは何ができるか?)を確認し、ロールや権限に基づいてリソースへのアクセスを制御します。NestJSでは、認証にはJwtAuthGuardがよく使われ、認可にはアクセス権を確認するためにRolesGuardのようなカスタムガードが使われます。

3

カスタムガードを作成できるNestJSのデコレーターはどれですか?

回答

NestJSでカスタムガードを作成するには、CanActivateインターフェースを実装し@Injectable()で装飾されたクラスを作成します。このインターフェースは、booleanまたはPromiseを返すcanActivate(context: ExecutionContext)メソッドを必須とします。その後、ガードは@UseGuards()でルートに適用できます。このアーキテクチャにより、複雑な検証を行うために依存関係(サービス、リポジトリ)をガードに注入できます。

4

RBACにおいて「permission(権限)」は何を表しますか?

5

NestJSでガードをcontrollerに適用するにはどうすればよいですか?

+17 面接問題

次の面接に向けてNode.js / NestJSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める