アプリケーションのユーザーがロールを動的に作成し、このロールにアクセス許可を割り当てられるようにしたいと考えています。そのため、ロール モデルはハードコーディングされません。ただし、私が理解している限り、アクセス許可はハードコーディングする必要があります (アプリケーションロジックでチェックをハードコーディングするため)
私が見る最善の方法は、ロールをデータベースに保持し、その場で作成して、アクセス許可を割り当て\割り当て解除することです。また、アクセス許可は配列 (またはハッシュ、または連想配列) に保持する必要があり、開発者のみが変更し、サーバーの再起動が必要です。
すべて問題ないようですが、パーミッション ベースの承認のベスト プラクティス (パーミッション ベースではなく、ロール ベースの承認について多くを見つけることができます) と考えられる欠点について読みたいと思います。
また、権限の「レベル」を管理する最善の方法をまだ見つけられていません。たとえば、「管理者として機能」、「ユーザーの管理」、「ユーザーの作成/読み取り/更新/削除」という権限があります。
「Act As Admin」の権限を持つ Role にすべての操作 (管理者ユーザー、CRUD ユーザーなど) を任せたいと考えています。「ユーザーの管理」権限を持つロール - ユーザーを自動的に CRUD できます。多くの「OR」条件をチェックする必要がないため、このアプローチの方が優れています(管理者として機能したり、ユーザーを管理したり、ユーザーをCRUDしたりできます...)
しかし、この目的のためにアクセス許可ハッシュ (配列など) をメモリに保持するにはどうすればよいですか?
この質問は言語/フレームワークなどにとらわれないので、そのようなタグは追加しません