dotkernel / admin
Dotkernel 管理应用
Requires
- php: ~8.2.0 || ~8.3.0
- ext-gettext: *
- dotkernel/dot-cache: ^4.0
- dotkernel/dot-cli: ^3.5.0
- dotkernel/dot-controller: ^3.4.3
- dotkernel/dot-data-fixtures: ^1.1.3
- dotkernel/dot-dependency-injection: ^1.0
- dotkernel/dot-errorhandler: ^4.0.0
- dotkernel/dot-flashmessenger: ^3.4.2
- dotkernel/dot-geoip: ^3.6.0
- dotkernel/dot-helpers: ^3.4.2
- dotkernel/dot-mail: ^4.1.1
- dotkernel/dot-navigation: ^3.4.2
- dotkernel/dot-rbac-guard: ^3.4.2
- dotkernel/dot-session: ^5.6.0
- dotkernel/dot-twigrenderer: 3.4.3
- friendsofphp/proxy-manager-lts: ^1.0.16
- laminas/laminas-component-installer: ^3.4.0
- laminas/laminas-config-aggregator: ^1.14.0
- laminas/laminas-i18n: ^2.26.0
- laminas/laminas-math: ^3.7.0
- mezzio/mezzio: ^3.18.0
- mezzio/mezzio-authorization-rbac: ^1.7.0
- mezzio/mezzio-cors: ^1.11.1
- mezzio/mezzio-fastroute: ^3.11.0
- ramsey/uuid-doctrine: ^2.1.0
- roave/psr-container-doctrine: ^5.2.2
Requires (Dev)
- filp/whoops: ^2.15.4
- laminas/laminas-coding-standard: ^2.5.0
- laminas/laminas-development-mode: ^3.12.0
- laminas/laminas-http: ^2.19.0
- mezzio/mezzio-tooling: ^2.9.0
- phpunit/phpunit: ^10.5.9
- roave/security-advisories: dev-latest
- vimeo/psalm: ^5.20.0
- vincentlanglet/twig-cs-fixer: ^3.0
- 5.0.x-dev
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.3.1
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.x-dev
- 4.0.1
- 4.0.0
- 3.2.1
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.0
- 2.0.x-dev
- v2.0.0
- 1.0.x-dev
- v1.0.2
- v1.0.1
- v1.0.0
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.1
- 0.1.0
- dev-issue-275
- dev-issue-282
- dev-issue-284
- dev-issue-280
- dev-laminas-ci
- dev-issue-251
- dev-issue212
- dev-issue-210
This package is auto-updated.
Last update: 2024-09-26 14:13:29 UTC
README
DotKernel 适用于管理应用的 Web 开发包。
安装 DotKernel admin
工具
可以通过单个命令安装 DotKernel,该命令利用了 Composer。因此,需要安装 Composer 以安装 DotKernel admin
。
Composer
安装说明
如果您之前从未使用过 Composer,请确保您已经阅读了 Composer 文档中的
Composer 基本用法
部分
选择 DotKernel admin
的安装路径
示例
- 绝对路径
/var/www/dk-admin
- 或相对路径
dk-admin
(等价于./dk-admin
)
安装 DotKernel admin
选择 DotKernel 的路径(本例中为 dk-admin
)后,必须进行安装。有两种安装方法。
I. 使用 composer 安装 DotKernel admin
请在终端中使用以下 CLI 命令,不要使用 PhpStorm 按钮
使用此命令的优点是它将运行整个安装过程。运行以下命令
composer create-project dotkernel/admin -s dev dk
上述命令会下载 admin
包,然后下载并安装 依赖项
。
设置脚本会提示一些配置设置,例如以下几行
Please select which config file you wish to inject 'Laminas\Diactoros\ConfigProvider' into:
[0] Do not inject
[1] config/config.php
Make your selection (default is 1):
只需选择 [0] 不注入
,因为 DotKernel 已经包含了包含所需配置的自定义配置提供者。
如果您选择 [1] config/config.php
,则 Laminas 的 ConfigProvider
中的 session
将被注入。
下一个问题是
记住此选项以用于其他相同类型的包?(y/N)
在这里输入 y
并按 enter
键
II. 使用 git clone 安装 DotKernel admin
此方法需要更多手动输入,但确保安装了默认分支,即使它尚未发布。运行以下命令
git clone https://github.com/dotkernel/admin.git .
必须单独安装依赖项,通过运行以下命令
composer install
就像在 II 使用 git clone 安装 DotKernel admin
中一样(见上面),设置会询问有关注入的配置设置(输入 0
并按 enter
)以及确认是否使用此设置用于其他包(输入 y
并按 enter
)
配置 - 首次运行
- 从文件
config/autoload/local.php.dist
中移除.dist
扩展名 - 根据您的开发机器编辑
config/autoload/local.php
并填写database
配置
使用以下命令运行迁移和种子
php bin/doctrine-migrations migrate
php bin/doctrine fixtures:execute
-
如果您使用
composer create-project
,则项目将在安装后自动进入开发模式。可以使用以下 composer 命令检查和切换开发模式状态composer development-status composer development-enable composer development-disable
-
如果尚未在安装过程中完成,请从
config/autoload/development.global.php.dist
中移除.dist
扩展名。这将通过将调试标志设置为true
并将配置缓存设置为off
来启用开发模式。它还将确保清除任何现有的配置缓存。
字符集推荐:utf8mb4_general_ci
管理 GeoLite2 数据库
您可以通过运行以下命令下载/更新特定的 GeoLite2 数据库
php bin/cli.php geoip:synchronize -d {DATABASE}
其中 {DATABASE} 可以取以下值之一:asn
、city
、country
。
您可以通过运行以下命令一次性下载/更新所有 GeoLite2 数据库
php bin/cli.php geoip:synchronize
输出应类似于以下示例,按行显示:数据库标识
: 上次构建日期时间
-> 当前构建日期时间
。
asn: n/a -> 2021-07-01 02:09:34
城市:n/a -> 2021-07-01 02:09:20
国家:n/a -> 2021-07-01 02:05:12
通过运行以下命令获取此命令的帮助:
php bin/cli.php help geoip:synchronize
提示:如果您将同步器命令设置为cronjob,可以添加-q|--quiet
选项,并且只有在发生错误时才会输出数据。
NPM命令
要安装到node_modules
目录中的依赖项,请运行此命令。
npm install
如果npm install
失败,这可能是由于npm的用户权限引起的。建议通过Node版本管理器
安装npm。
watch命令编译组件,然后监视文件,并在其中一个文件更改时重新编译。
npm run watch
所有更新完成后,此命令将在本地编译资源,对其进行压缩,使其准备就绪以进行生产。
npm run prod
授权守卫
负责限制对应用程序某些部分访问的包是dot-rbac-guard和dot-rbac。这些包协同工作,创建一个可自定义和多样化的基础设施,通过指定用户拥有的角色类型来管理用户对平台的访问。
authorization.global.php
文件提供了多个配置,指定了多个角色以及这些角色可以访问的权限类型。
'roles' => [
'superuser' => [
'permissions' => [
'authenticated',
'edit',
'delete',
//etc..
]
],
'admin' => [
'permissions' => [
'authenticated',
//etc..
]
]
]
authorization-guards.global.php
文件提供了配置,根据在authorization.global.php
中定义的权限来限制对某些操作的访问,因此我们首先必须在dot-rbac配置文件中添加权限,以指定操作限制权限。
'rules' => [
[
'route' => 'account',
'actions' => [//list of actions to apply , or empty array for all actions
'unregister',
'avatar',
'details',
'changePassword'
],
'permissions' => ['authenticated']
],
[
'route' => 'admin',
'actions' => [
'deleteAccount'
],
'permissions' => [
'delete'
//list of roles to allow
]
]
]
测试(运行)
注意:不要在生产环境中启用开发模式
-
在项目的目录中运行以下命令以启动PHP的内置服务器:
php -S 0.0.0.0:8080 -t public
运行命令
composer serve
将执行完全相同的事情,但上面的方法更快。
0.0.0.0
表示服务器对所有传入连接开放,127.0.0.1
表示服务器只能本地访问(仅限localhost),8080
是服务器启动的端口(服务器监听端口)
注意:如果您仍然收到有关某些缺少服务的异常或错误,请尝试运行以下命令:
php bin/clear-config-cache.php
如果存在
config-cache.php
,则无论在config/autoload/mezzio.global.php
中的ConfigAggregator::ENABLE_CACHE
如何,都会加载该配置。
- 打开网络浏览器,访问
https://:8080/
您应该看到DotKernel管理员
登录页面。
如果您运行了迁移,则数据库中将有以下凭证的管理员用户:
- 用户:
admin
- 密码:
dotadmin
注意
-
仅限生产:请确保您已修改默认管理员凭证。
-
仅限开发:由于
session.cookie_secure
在本地不起作用,请确保您已修改local.php
,如下所示return [ 'session_config' => [ 'cookie_secure' => false, ] ];
请勿在local.php.dist
中更改此设置,因为此值在生产环境中应保持为true
。