0

私は PHP と codeigniter のシンプルなシステムであり、ユーザーとそのシステムへのアクセスを管理するためのシンプルでより良い方法が必要です。そのため、検索の結果、アクセス制御に関する興味深いトピックを見つけましたが、それが良いアプローチであるかどうかについてはまだ疑問があります.

役割とユーザーの perm テーブルがあるのは、一部のユーザーは、どの役割でも定義されていない別のアクセス権を持つ必要があるためです。user_permission は常に role_permission よりも優先されます。たとえば、ユーザーにはユーザーの除外にアクセスできる役割がありますが、管理者がユーザーの除外を拒否する user_perm を作成したため、この特定のユーザーはユーザーを削除できません。

どんな助けでも大歓迎です。

    CREATE TABLE ユーザー
    (
      ID 主キー、
      ユーザー名、
      パスワード、
      role_id、
      ファーストネーム、
      苗字、
      ...
    );

    CREATE TABLE ロール
    (
      ID 主キー、
      名前
    );
    CREATE TABLE アクション
    (
      ID 主キー、
      名前、
    );
    CREATE TABLE role_permission
    (
      ID 主キー、
      action_id、
      パーミッション BOOLEAN
    );

    CREATE TABLE user_permission
    (
      IDシリアルNOT NULL PRIMARY KEY、
      action_id、
      パーミッション BOOLEAN
    );
4

1 に答える 1

0

ロール ID と複数のユーザー ID との関係のテーブルを忘れた..各ユーザーはロールを持ち、ロールに基づいて権限を取得します..そうでなければ、フィールド role_id をユーザー テーブルに追加できます。 ..

于 2015-02-20T18:20:15.970 に答える