Laravel5.5をベースに開発された、最も簡素化された権限管理システムです。 Laravel5.4バージョンの場合はany54ブランチに切り替えてください。
Any 、最も単純な権限制御を含む、新しく簡素化された管理バックエンド モジュールです。初めてパーミッションシステムを書いたとき、外国人が書いたソースコードを読みました。彼のコードに基づいて、Laravel5.2 IAdminに基づいたバックエンドを作成しました。これは、パブリックで使用するためのすべてのアクセス許可システムです。
iDashboard IAdminに基づいて設計アイデアとコード構造を最適化し、ミドルウェアがすべてのコントローラーの権限を決定できるように権限をルーティング名にバインドします。 Laravel 5.3 に基づいて開発されており、唯一の最適化は、コードを作成した直後に使用できるように、アクセス許可とルーティング エイリアスをバインドすることです。ただし、設定ファイルが多すぎる問題は解決されていません。
Any 、以前のバージョンでの権限iDashboardをベースに再構築されたプロジェクトであり、ACL のような権限を自動的に生成して判断する方法はありますか?これにより、権限と構成を定義する必要性が大幅に軽減されます。 Any生まれました。
Anyの主な原理は、ユーザーがアクセスしたルートに基づいて、現在アクセスされているコントローラー (コントローラー) とメソッド (メソッド) を取得し、ユーザーがアクセスしたときに、ミドルウェアが独自の許可値を生成するメソッドを追加することです。ある方法。スーパー管理者の場合、この権限を持っていなくても、スーパー管理者の役割に権限が自動的に付与されます。ミドルウェア クエリが多すぎるのを避けるために、ユーザーが正常にログインした後、現在のユーザーのすべての権限のコピーがキャッシュされます。権限を判断するときは、任意のロールの権限の更新がキャッシュから直接取得されます。キャッシュを更新します。さらに、コードに対して多くの最適化が行われました。
これらは基本機能のほんの始まりにすぎません。さらにインスピレーションを得ることを期待しています。
このプロジェクトのコードをローカルにダウンロードします。
git clone https://github.com/lanceWan/any.git
プロジェクトに入り、 composerをインストールします。
cd any
composer install
構成.envファイル:
[sudo]cp .env.example .env
Linux および Mac では実行権限に注意してください。
データベースを構成します。
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
データを移行します。
php artisan migrate --seed
OK、プロジェクトは設定されました。ホームページにアクセスしてログインするだけです。ルートがわからない場合は、 routes/web.phpファイルに直接アクセスできます。デフォルトの管理者アカウント: iwanli 、パスワード: 123456 。 LinuxまたはMacで設定する場合は、関連するディレクトリの権限に注意してください。ここでは詳しく説明しません。
Anyの開発には、皆様からのフィードバックや提案が不可欠です。アイデアがある場合は、https://github.com/lanceWan/any/issues に直接送信してください。
Laravel学習交流グループ: 312621686