フロントエンドとバックエンドが分離されている場合 (フロントエンドとバックエンド mv*)、フロントエンドは承認ロジックをどのように処理しますか?
(mv* は mvc、mtv、または mvvm など)
バックエンド:
リーリーバックエンド コントローラー/アクションおよびその他の操作は通常、acl/rbac などの承認システムを使用して承認の決定を行います。
問題は次のとおりです:
Emberjs、Angularjs などのフロントエンド mv* フレームワークは承認部分をどのように処理するのでしょうか?
たとえば、ログインしていない場合 (閲覧ユーザー) には 10 件の記事が表示され、ログインしている場合にはさらに多くのコンテンツが表示されます。
方法 1) バックエンドと同様に、これを処理するために別の承認システム/承認ロジックを使用しますか?
方法2) 認可ロジックの判定結果をjsonデータに入れてフロントエンドに返す フロントエンドはそのまま利用できますか?
リーリー3) バックエンドに非常によく似たフロントエンド MVC フレームワークである Emberjs を使用する場合、特に完全な Ember-data クラス ORM コンポーネントがある場合、フロントエンド Ember-data/model を次のようにする必要がありますか?すでにバックエンドにマッピングされていますか? セキュリティ問題の認証と認可の部分はどのように処理されますか?
私が接したプロジェクトは「方法2)認可ロジックの判定結果をjsonデータに入れてフロントエンドに返し、フロントエンドがそれを直接利用する、つまりバックエンドがパーミッションを返す」というものを使っています。ユーザーが所有しているものをフロントエンドが判断するのですが、これだと返された結果が改ざんされた場合にフロントエンドのパーミッションが破壊されてセキュリティが低下するような気がしますが、これは。ルール定義がわかっている場合にのみ可能です。