alikhaleghi/basesys

Khaleghi项目的基系统。

v1.0.alpha 2024-08-12 23:21 UTC

This package is auto-updated.

Last update: 2024-09-13 01:07:51 UTC


README

为CodeIgniter 4提供灵活、强大、安全的API包。

项目通知

该程序应在CI4.2+上运行。

需求

  • PHP 8.1+
  • CodeIgniter 4.2+

功能

认证/授权

  • 登录/注册/账户恢复

  • 用户面板 -- 仪表板 -- 用户资料 --- 账户详情修改 --- 密码修改 --- 联系信息修改

  • 管理员面板 -- 仪表板 -- 用户管理 --- 用户修改 --- 用户组管理 ---- 添加/删除用户组

安装

最佳安装方式是通过Composer。假设Composer已全局安装,您可以使用以下命令

    > composer require AliKhaleghi/BaseSys

这将添加最新稳定版本的AliKhaleghi/BaseSys作为模块到您的项目中。

确保您的数据库设置正确,然后运行Auth迁移

    > php spark migrate -all  

手动操作

您需要添加一些额外的配置才能使程序运行。打开或创建文件/app/config/Auth.php。在这里,我们需要将JSON Web Token库添加到Myth/Auth认证配置中。找到变量$authenticationLibs并添加以下元素到数组中。'jwt' => 'AliKhaleghi\BaseSys\Authentication\JWTAuthenticator', // JSON Web Token认证器类/** * -------------------------------------------------------------------- * 库 * -------------------------------------------------------------------- * * @var array */ public $authenticationLibs = [ 'local' => 'Myth\Auth\Authentication\LocalAuthenticator', 'jwt' => 'AliKhaleghi\BaseSys\Authentication\JWTAuthenticator', // JSON Web Token认证器类 ];

过滤器

请注意,为了保持API端点的安全性,您需要在App\Config\Filters.php中实现以下代码

public array $filters = [
    'jwt_logged_in' => ['before' => ['api/client/*']],
    'jwt_admin' => ['before' => ['api/client/*']],
];

注册要求

为了在允许新用户登录之前进行任何形式的激活,您需要更新您的App\Config\Auth.php配置如下

/**
 * --------------------------------------------------------------------
 * Require Confirmation Registration via Email
 * --------------------------------------------------------------------
 *
 * When enabled, every registered user will receive an email message
 * with an activation link to confirm the account.
 *
 *  Validation Via Email: AliKhaleghi\BaseSys\Authentication\Activators\EmailActivator
 *  Validation Via SMS: AliKhaleghi\BaseSys\Authentication\Activators\SMSActivator
 *
 * @var string|null Name of the ActivatorInterface class
 */
public $requireActivation = 'AliKhaleghi\BaseSys\Authentication\Activators\EmailActivator';

如果上述值尚未设置,则需要激活才能注册,默认使用EmailActivator