derabinsergey/yii2-app-extended

Yii 2 扩展项目模板

v2.0.0 2022-10-24 23:04 UTC

This package is auto-updated.

Last update: 2024-09-25 18:41:27 UTC


README

通过composer安装

composer create-project --prefer-dist deryabinsergey/yii2-app-extended:2

优点

此项目模板基于高级模板,并进行了一些修改

  • 添加rmrevin / yii2-fontawesome资产包,包含Font Awesome 5
  • Bootstrap仪表板模板添加到后端
  • user.username中移除唯一键。通过电子邮件和密码进行授权。
  • 为用户添加RBAC实现。用于后端。
  • 添加用户CRUD到后端
  • 使Codeception测试有效,使用yii2-bootstrap5
  • 添加一些测试到后端/创建用户,后端接受测试
  • docker-compose.yml中添加selenium,并在frontend/tests/acceptance.suite.yml.example中的docker配置
  • Dockerfile中将php更改为yiisoftware/yii2-php:8.1-apache
  • Dockerfile中添加配置以实现美观的URL
  • urlManagerFrontend添加到后端配置,以便从后端到前端创建链接

注意environments/dev/frontend/web/index-test.phpenvironments/dev/backend/web/index-test.php中删除代码以在Docker上启动测试

// NOTE: Make sure this file is not accessible when deployed to production
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
    die('You are not allowed to access this file.');
}

所有信息和文档可在高级项目模板中找到。

使用RBAC

角色权限common/config/params.php中定义。为了添加新的权限角色和分配给角色的权限,应创建迁移。例如,请参阅console/migrations/m221002_102238_initialize_rbac_roles.php。为了开始,我创建了以下权限

  • 后端 - 访问后端
  • userCreate - 在后端添加新用户
  • userRead - 查看现有用户的信息
  • userUpdate - 可以更新用户信息
  • userDelete - 可以删除用户(注意:您可以软删除现有用户,只需将状态设置为已删除

以及以下角色

  • admin具有完全权限
  • manager具有除删除外的完全权限
  • viewer只有读取权限

树形视图中默认的角色权限

admin (role)
├─userDelete (permission)
│
└─manager (role)
  ├─userCreate (permission)
  ├─userUpdate (permission)
  │
  └─viever (role)
    │
    ├─backend (permission)
    └─userRead (permission)

接受测试

完成以下步骤以启用接受测试

  • 将前端配置文件frontend/tests/acceptance.suite.yml.example复制到frontend/tests/acceptance.suite.yml,并将后端配置文件backend/tests/acceptance.suite.yml.example复制到backend/tests/acceptance.suite.yml
  • docker-compose.yml中取消注释selenium-event-busselenium-sessionsselenium-session-queueselenium-distributorselenium-routerchromefirefox部分
  • 构建测试:./vendor/bin/codecept build

运行所有测试:./vendor/bin/codecept run