openeuropa/oe_authorisation

OpenEuropa项目的用户授权功能。

安装次数: 1,169

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 17

分支: 0

开放问题: 4

类型:drupal-module

dev-master 2019-11-06 14:22 UTC

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

或者,您可以使用提供的配置使用DockerDocker 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 缓存,还需要执行以下额外手动步骤

  1. 打开 ./build/sites/default/services.yml
  2. twig.config: 属性中的 cache 设置为 false。例如:
parameters:
 twig.config:
   cache: false
  1. 重建 Drupal 缓存:./vendor/bin/drush cr

这是因为以下 Drupal Console 问题

贡献

请阅读 完整文档 了解我们的行为准则和向我们提交 pull 请求的流程。

版本控制

我们使用 SemVer 进行版本管理。有关可用的版本,请参阅此存储库的 标签