bkstar123/bkscms-admin-panel

A bkstar123/bkscms的包,用于管理员用户的认证和授权

1.0.11 2022-03-03 08:22 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:46 UTC


README

为BKSCMS项目添加一个管理员面板(包含认证和授权功能)的bkstar123/bkscms包

创建BKSCMS项目,请运行以下命令
composer create-project --prefer-dist bkstar123/bkscms <your-project>

1. 要求

建议使用PHP版本7.1.3+和Laravel框架版本5.6+来安装此包

2. 安装

composer require bkstar123/bkscms-admin-panel

然后,发布包的配置文件(如果您运行php artian bkscms:install来安装BKSCMS项目,则不需要执行此操作)
php artisan vendor:publish --provider=Bkstar123\BksCMS\AdminPanel\Providers\AdminPanelServiceProvider

3. 使用方法

该包提供了一个 artisan 命令 php artisan bkscms:initAuth --scope=<permissions|all>

如果您运行 php artian bkscms:install 来安装BKSCMS项目,以下所有步骤都是不必要的。

  • 创建数据库表
    php artisan migrate
  • 将数据填充到roles, admins, permissions表,并进行其他配置
    php artisan bkscms:initAuth --scope=all
  • roles, permissions, admins表创建全文索引
php artisan mysql-search:init Bkstar123\BksCMS\AdminPanel\Admin
php artisan mysql-search:init Bkstar123\BksCMS\AdminPanel\Role
php artisan mysql-search:init Bkstar123\BksCMS\AdminPanel\Permission

它将创建两个用户 superadmin & administrator,分别具有密码 superadmin1@administrator1@。您可以使用这些凭证登录并创建您自己的用户(您必须至少将superadmins角色分配给一个用户)。最后,在推向生产环境之前,不要忘记删除/禁用默认的superadmin & administrator用户以确保安全。

稍后,当您在config/bkstar123_bkscms_adminpanel.php中的permissions键添加更多权限时,您只需运行php artisan bkscms:initAuth --scope=permissions来重新初始化权限表。

在控制器中,导入并使用特质Bkstar123\BksCMS\AdminPanel\Traits\AuthorizationShield,然后您可以在需要执行授权检查的每个控制器操作中放置对$this->capabilityCheck(<action>, <resource>)的调用。

注意
该包提供了bkscms-auth & bkscms-guest中间件,分别用于替换所有CMS路由(即在路径/cms/*下)中的auth & guest