概要
複数のロールが関与するWebアプリケーションの認証認可を考えるときに、アプリケーション分割した方がいいのか、ロールベースの認可でアクセス制御をすればいいのか悩みました。
結論
-
状態遷移可能なロール同士は同じユーザー分類として分類し、状態遷移不可能なロール同士は別のユーザー分類として分類する。
平社員から管理職には状態遷移可能なので、一つのユーザー分類の中のロールとして定義すると良さそうです。 他方、社員から顧客には状態遷移しづらいので、別々のユーザー分類として定義すると良さそうです。
-
一つのユーザー分類ごとの一つアプリケーションを構築する
これという理由がありませんが……
- 認証認可の設定が単純明快で、設定ミスによるインシデントが起こりづらそう。
- スケーリングしやすい。
この文字数はさすがに手抜きなのではと思いましたが、これ以上書くことがありませんでした。