「セキュリティ」とは、データアクセス権を意味します。例:
- Andrewは、フランスのクライアントへの読み取り専用アクセスのみを持っています
- ブライアンはフランスとドイツのクライアントを更新できます
- チャールズは管理者であり、彼はすべての権利を読んで更新しています
各レイヤーの潜在的な議論を見ることができます。
データアクセス層
DALは、ユーザーがアクセスできるクライアントのみを公開し、ユーザーが許可されていないことを行おうとすると、適切なエラーをビジネスレイヤーに渡します。
これにより、上位層が簡素化され、データのごく一部にしかアクセスできないユーザーのデータトラフィックを減らすことができます。
ビジネスレイヤー
これはビジネスロジックが存在する場所であり、セキュリティの実装方法に関する完全な知識を持っているのはビジネス層だけだからです。
UIレイヤー
正接の議論は、UIレイヤーが認証を処理するレイヤーであるためです。より強力な議論は、アプリケーションにUI以外の機能がある場合です。つまり、毎日のP&Lの計算、アーカイブなどです。これらのプログラムにはセキュリティコンテキストがなく、架空の「システム」ユーザーを作成することはメンテナンスの悪夢です。
別のレイヤー?
3のどこかにスロットがありますか?
レイヤーXが大規模な3層アプリケーションに最適であると私に納得させる説得力のある議論を探しています。'それは'答えに依存します;-)を控えてください。
ありがとう。