ホームページ >バックエンド開発 >PHPチュートリアル >PHP ウェブサイト支援者管理管理者権限制御システム ソリューションを探しています

PHP ウェブサイト支援者管理管理者権限制御システム ソリューションを探しています

WBOY
WBOYオリジナル
2016-06-13 13:24:59851ブラウズ

PHP ウェブサイト バックエンド管理管理者権限制御システム ソリューションを探しています
現在、記事アップロード モジュール、ダウンロード用ファイル アップロード、ユーザー メッセージ モジュールなどを含むウェブサイト バックエンドを作成しています。
問題: バックグラウンド管理者権限の割り当て

説明: 現在、システムにはすべての権限を持つスーパー管理者がいます。ここで理解したいのは、スーパー管理者は一般管理者を追加し、一般管理者の権限を制御できるということです。例えば、一般ユーザーが記事のみをアップロードし、画像はアップロードできないように制御するにはどうすればよいでしょうか。これはどのように実装すればよいでしょうか。アイデアを探すには、ソース コードのサンプルがあったほうがよいでしょう。

さらに、システムは他のモジュール (新しい画像アップロード モジュールなど) を追加する場合があります。新しいバックグラウンド モジュールを追加した後、新しいバックグラウンド モジュールで元の管理者アカウントの関連する権限を簡単に設定する方法。モジュール?

わかりにくいかもしれませんが、ご質問がございましたらお気軽に投稿してください。

最高点は 100 点までですが、さらに点を追加できるのではないかと思います。


-----解決策--------------------------
各権限にマークを付ける必要があります。

例:

投稿 1 を公開

管理者を追加 2

写真をアップロード 3

.... ...

ユーザーが上記の 3 つの権限を持っている場合

データベースは配列 (1;2;3) として保存されます。

ユーザーは公開する権限のみを持ちます。投稿権限 (2;)

写真の投稿とアップロードの権限を持っています (2;3;)

....

ヘルパーに権限がある場合は、それが含まれているかどうかを確認するだけです。 。

わかるかな? ?
------解決策---------
モジュールテーブルを作成します。モジュールを操作する権利がある場合、それは 1 です。さもないと。 0


1 0 1 1.非常に柔軟に使用できます
------解決策---------
admin_group_id を含むモジュール テーブルを作成し、その内容を記録します。たとえば、
ユーザー モジュール 1,3 --1 は最上位の管理者を意味し、3 はユーザー
アップロード モジュール 1 を意味します。 2 --1 はトップ管理者を表し、2 は一般管理者を表します
------解決策---------
admin_group_id を含むモジュール テーブルを作成し、その内容を記録します。たとえば、
ユーザー モジュール 1,3 --1 は最上位の管理者を意味し、3 はユーザー
アップロード モジュール 1 を意味します。 2 --1 はトップ管理者を表し、2 は一般管理者を表します
------解決策---------
phpgacl
------解決策---------

話し合う
各権限をマークする必要があります。

例:

投稿を公開 1

管理者を追加 2

写真をアップロード 3

....

ユーザーが上記の 3 つの権限を持っている場合

データベースは配列 (1;2;3) として保存されます。

ユーザーは公開する権限のみを持ちます。投稿権限 (2;)

写真の投稿とアップロードの権限を持っています (2;3;)

.................

ヘルパーに権限がある場合は、それが含まれているかどうかを確認するだけです。 。

わかるかな? ?

------解決策---------
上記のほとんどは単純な権限です
複雑権限のロールモデルを確認するには、オンラインで検索してください。
------解決策---------
グループを使うととても便利です

グループテーブル:
グループ ID/グループ名
1/グループ 1
2/グループ 2
…………

権限テーブル:
権限 ID/権限名前
1/権限 1
2/権限 2
3/権限 3
…………

グループ権限関連付けテーブル:
グループ ID/権限 ID
1 /1
1/2
2/2
2/4
…………

お好みに合わせてください。グループ 1 はあなたのスーパーマネージメントであり、グループは2 は一般的な管理者であり、新しいグループを作成します。 3 に一致すると、通常のユーザーになります。新しいグループ 4 を作成します。これは制限付きユーザーである可能性があります。
------解決策---------
dedecmsの権限管理を見て真似してみますとても柔軟だと思います
------解決策---------
話し合う
ご意見ありがとうございます。

別の質問があります: 他のモジュール (新しい画像アップロード モジュールなど) をシステムに追加した場合、背景モジュールを追加した後、管理者アカウントには、新しいモジュールを追加するための適切な権限がありますか?

------解決策----------------------
私も 2 日前にこの権限の問題を抱えていました。

zend auth で使用するためにいくつかのテーブル

を設計しました。

/*Character table
-- id
-- Username
-- パスワード
-- ワークグループ A、B、C...
*/
DROP TABLE IF EXISTS role_acl;
CREATE TABLE role_acl (
id int(11) NOT NULL) auto_increment,
ユーザー名 varchar(30) NOT NULL,
パスワード varchar(20) NOT NULL,
work_group char(1) NOT NULL,
主キー (`id` )
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
/*ワーキング グループ
-- ID
-- ワーキング グループ A、B、C...
-- テキスト説明
*/
DROP TABLE IF EXISTS group_acl;
CREATE TABLE group_acl (
id int(11) NOT NULL auto_increment,
work_group char(1) NOT NULL,
group_desc varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
/* ロール リソース アクション マッピング テーブル
-- id
-- ワークグループ A、B、C。 .
-- リソース コード
*/
DROP TABLE IF EXISTS mapped_acl;
CREATE TABLE mapped_acl (
id int(11) NOT NULL auto_increment,
work_group varchar(1) NOT NULL、
リソース varchar(20) NOT NULL、
アクション varchar(20) NOT NULL、
主キー (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk; 🎜>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。