PHP ウェブサイト支援者管理管理者権限制御システム ソリューションを探しています
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
------解決策---------
------解決策---------
上記のほとんどは単純な権限です
複雑権限のロールモデルを確認するには、オンラインで検索してください。
------解決策---------
グループを使うととても便利です
グループテーブル:
グループ 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; 🎜>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









AppleIDを使用してiTunesStoreにログインすると、「このAppleIDはiTunesStoreで使用されていません」というエラーが画面に表示される場合があります。心配するようなエラー メッセージはありません。これらのソリューション セットに従って問題を修正できます。解決策 1 – 配送先住所を変更する iTunes Store にこのプロンプトが表示される主な理由は、AppleID プロファイルに正しい住所がないことです。ステップ 1 – まず、iPhone で iPhone 設定を開きます。ステップ 2 – AppleID は他のすべての設定の最上位にある必要があります。それで、開けてください。ステップ 3 – そこに到達したら、「支払いと配送」オプションを開きます。ステップ 4 – Face ID を使用してアクセスを確認します。ステップ

Windows 11/10 のイベント ビューアーでイベント ID 55、50、140、または 98 が表示された場合、またはディスク ファイル システム構造が破損しているため使用できないというエラーが発生した場合は、次のガイドに従って問題を解決してください。イベント 55、ディスク上のファイル システム構造が壊れていて使用できないとはどういう意味ですか?セッション 55 では、Ntfs ディスク上のファイル システム構造が破損しており、使用できません。ボリューム上で chkMSK ユーティリティを実行してください。NTFS がトランザクション ログにデータを書き込むことができない場合、イベント ID 55 のエラーがトリガーされ、NTFS はトランザクション データを書き込むことができず操作を完了できません。このエラーは通常、ディスク上に不良セクタが存在するか、ディスク サブシステムのファイル システムが不十分なために、ファイル システムが破損した場合に発生します。

Alibaba ソフトウェアでは、アカウントの登録が完了すると、システムによって一意の ID が割り当てられ、これがプラットフォーム上での ID として機能します。しかし、多くのユーザーは自分の ID を照会したいと考えていますが、その方法がわかりません。次に、この Web サイトの編集者が以下の戦略手順を詳しく紹介します。お役に立てれば幸いです。 Alibaba ID: [Alibaba]-[My] に対する答えはどこで見つかりますか。 1. まず Alibaba ソフトウェアを開きます. ホームページに入ったら、右下隅の [My] をクリックする必要があります; 2. その後、My ページにアクセスすると、ページの上部に [id] が表示されます; Alibaba ID はタオバオと同じですか? アリババ ID とタオバオ ID は異なりますが、この 2 つは同じです
![イベント ID 4660: オブジェクトが削除されました [修正]](https://img.php.cn/upload/article/000/887/227/168834320512143.png?x-oss-process=image/resize,m_fill,h_207,w_330)
一部の読者がイベント ID4660 に遭遇しました。何をすればよいかわからないことが多いため、このガイドで説明します。イベント ID 4660 は通常、オブジェクトが削除されたときにログに記録されるため、コンピューター上でイベント ID 4660 を修正する実際的な方法も検討します。イベントID4660とは何ですか?イベント ID 4660 は Active Directory 内のオブジェクトに関連しており、次のいずれかの要因によってトリガーされます。 オブジェクトの削除 – オブジェクトが Active Directory から削除されるたびに、イベント ID 4660 のセキュリティ イベントがログに記録されます。手動変更 – ユーザーまたは管理者がオブジェクトのアクセス許可を手動で変更すると、イベント ID 4660 が生成される場合があります。これは、権限設定の変更、アクセス レベルの変更、またはユーザーやグループの追加または削除を行うときに発生する可能性があります。

Tencent Video ID はどこで確認できますか? Tencent Video APP には専用の ID がありますが、ほとんどのユーザーは Tencent Video ID を確認する方法を知りません。次は、Tencent Video ID を確認する方法についてのグラフィック チュートリアルです。興味のあるユーザーはぜひ見に来てください! Tencent Video 使用チュートリアル Tencent Video ID を確認する場所 1. まず Tencent Video APP を開き、メイン ページの右下隅にある [パーソナル センター] から特別エリアに入ります; 2. 次に、パーソナル センター ページに入り、[設定]機能; 3. 次に、設定ページに移動し、下部の[アカウントを終了]をクリックします; 4. 最後に、以下のページで専用のID番号が表示されます。

null と C 言語の NULL の違いは次のとおりです。 null は C 言語のマクロ定義であり、通常は null ポインタを表すために使用され、ポインタ変数を初期化したり、条件文でポインタが null であるかどうかを判断したりするために使用できます。 NULL は、C 言語のマクロ定義です。 の定義済み定数で、通常は NULL 値を表すために使用され、NULL ポインター、NULL ポインター配列、または NULL 構造体ポインターを表すために使用されます。

getElementById が "created()" フック関数で使用されており、Vue のマウントが完了していないため、Vue は id 属性を取得できません。解決策は、"created() {let serachBox = document.getElementById('searchBox') ;.. .}" コードを "mounted()" フック関数に移行できます。

JavaScript では、未定義と null はどちらも「何もない」という概念を表します: 1. 未定義は初期化されていない変数または存在しないプロパティを表します。変数が宣言されていても値が割り当てられていない場合、変数の値は未定義です。オブジェクト内に存在しないプロパティにアクセスする場合、戻り値も未定義になります; 2. null は空のオブジェクト参照を表します。場合によっては、オブジェクト参照を null に設定して、オブジェクト参照が占有しているメモリを解放できます。
