クライアント側の言語がAngular 2のプロジェクトがあります。アプリケーションにはいくつかのページがあり、それらのすべてに異なるアクセス許可があります。たとえば、従業員ページ、書籍ページ、ロケーションページ、クロッキングページなどがあります。許可されていないユーザーのフィールドを無効にするための一般的なソリューション
このページにはそれぞれ、CanEditとCanViewのアクセス許可があります。ログインしたユーザーは、場所のCanEdit権限を持っている可能性がありますが、書籍ページのCanEdit権限を持っていない可能性があります。
私は、1か所に書いて、すべてのページで動作する汎用ソリューションを作りたいと思います。すべてのページでコードを繰り返す必要はありません。次のようなものがあります。ユーザーが現在のページに対してCanEdit権限を持っている場合は、すべての入力に対して読み取り専用属性を削除し、CanEdit権限を持っていない場合は読み取り専用属性を追加します。
現時点では、プロジェクトには役割はありませんが、私は提案をすることができます。
これは可能ですか?
サービスでは、 CanViewLocations、CanEditLocations、CanViewBooks、CanEditBooksはアプリケーションのすべてのページに対応していますか? –
権利に必要な精度のレベルに依存します。最も基本的な方法は、CanViewとCanEditの2つのステータスのみを使用し、いずれかのページでそれらを使用することです。保護したいボタン/フィールド/ divに* ngIf条件を設定するだけです –