openeuropa / oe_authorisation
OpenEuropa项目的用户授权功能。
Requires
- php: ^7.1
- drupal/core: ^8.7
- openeuropa/syncope-php-client: dev-master
Requires (Dev)
- composer/installers: ^1.2
- drupal-composer/drupal-scaffold: ^2.2
- drupal/config_devel: ~1.2
- drupal/devel: ^1.2
- drupal/drupal-extension: ~4.0
- drush/drush: ^9
- nikic/php-parser: ~3.0
- openeuropa/behat-transformation-context: ~0.1
- openeuropa/code-review: ~1.0.0-beta2
- openeuropa/drupal-core-require-dev: ^8.7
- openeuropa/task-runner: ~1.0.0-beta5
This package is auto-updated.
Last update: 2024-09-16 22:42:42 UTC
README
OpenEuropa授权模块为OpenEuropa项目提供默认的用户授权功能。
模块会自动禁用角色/权限CRUD UI,以确保与角色相关的任何配置都不可以通过UI更改。此功能不会对uid 1移除。
模块提供了以下用户角色
- 站点管理员(一般管理权限)
- 支持工程师(一般管理权限,无用户管理)
- 编辑(内容相关权限)
它还提供了OpenEuropa授权Syncope子模块,用于与Syncope授权服务集成。后者也可以作为本存储库的一部分进行配置,用于开发目的。有关详细信息,请参阅项目设置。
目录
安装
推荐安装OpenEuropa授权模块的方式是通过Composer。
composer require openeuropa/oe_authorisation
启用模块
为了在项目中启用模块,请运行
./vendor/bin/drush en oe_authorisation
开发
OpenEuropa授权项目包含所有必要的代码和工具,以实现有效的开发过程,例如
- 所有PHP开发依赖项(包括Drupal核心)都由composer.json要求
- 由于与Task Runner项目的集成,项目设置和安装可以轻松处理。
- 所有系统要求都使用Docker Composer进行容器化
项目设置
运行以下命令以下载所有所需的PHP代码
composer install
这将在一个完全功能的Drupal测试站点中构建一个目录(./build),可用于开发和展示模块的功能。
在设置和安装站点之前,请确保通过将runner.yml.dist复制到./runner.yml
并覆盖相关属性来自定义默认配置值。
这还将
- 在
./build/modules/custom/oe_authorisation
中创建模块的符号链接,以便它可用于测试站点 - 使用
./runner.yml.dist
中的值设置Drush和Drupal的设置 - 使用
./runner.yml.dist
中的值设置PHPUnit和Behat配置文件
设置成功后,通过运行以下命令安装站点
./vendor/bin/run drupal:site-install
这将
- 安装测试站点
- 启用OpenEuropa授权模块
对于OpenEuropa授权Syncope模块,您需要使用Docker设置项目
使用Docker Compose
或者,您可以使用提供的配置使用Docker和Docker Compose构建开发站点
Docker提供所需的服务和工具,如Web服务器和数据库服务器,以便无论您的本地主机配置如何,都可以运行站点。
要求
配置
默认情况下,Docker Compose 读取两个文件,一个是 docker-compose.yml
文件,另一个是可选的 docker-compose.override.yml
文件。按照惯例,docker-compose.yml
文件包含您的基配置,并默认提供。覆盖文件,顾名思义,可以包含现有服务或全新服务的配置覆盖。如果某个服务在两个文件中都进行了定义,Docker Compose 会合并这些配置。
有关 Docker Compose 扩展机制的更多信息,请参阅 官方 Docker Compose 文档。
用法
首先,运行
docker-compose up
建议不要以守护进程的形式运行 docker-compose
,这样您可以在工作完成后快速关闭它(按 CTRL+C
)。但是,如果您想以守护进程形式运行,则需要添加 -d
标志
docker-compose up -d
Syncope 控制台应可在:http://127.0.0.1:28080/syncope-console 访问,默认登录用户名是 admin
,密码是 password
。
然后
docker-compose exec web composer install
在安装网站之前,应先配置 Syncope,因此您需要运行此命令
docker-compose exec web ./vendor/bin/run oe-authorisation-service:setup
然后,为了为您的测试网站创建站点域和系统用户,您可以运行此命令
docker-compose exec web ./vendor/bin/run oe-authorisation-service:site-setup --site_id=sitea
(其中 sitea
是您本地站点的 Site ID(域))。
docker-compose exec web ./vendor/bin/run drupal:site-install
使用默认配置,开发站点的文件应位于 build
目录中,开发站点应可在:http://127.0.0.1:8080/build 访问。
运行测试
要运行 grumphp 检查
docker-compose exec web ./vendor/bin/grumphp run
要运行 phpunit 测试
docker-compose exec web ./vendor/bin/phpunit
要运行 behat 测试
docker-compose exec web ./vendor/bin/behat
禁用Drupal 8缓存
手动禁用 Drupal 8 缓存是一个繁琐的过程,详细信息请参阅 此处。
或者您可以使用以下 Drupal Console 命令来禁用/启用 Drupal 8 缓存
./vendor/bin/drupal site:mode dev # Disable all caches. ./vendor/bin/drupal site:mode prod # Enable all caches.
注意:要完全禁用 Twig 缓存,还需要执行以下额外手动步骤
- 打开
./build/sites/default/services.yml
- 将
twig.config:
属性中的cache
设置为false
。例如:
parameters: twig.config: cache: false
- 重建 Drupal 缓存:
./vendor/bin/drush cr
这是因为以下 Drupal Console 问题。
贡献
请阅读 完整文档 了解我们的行为准则和向我们提交 pull 请求的流程。