linkorb/userbase-role-provider-bundle

适用于现代 Symfony 应用的 Userbase 角色提供者包

v4.0.0 2022-10-04 13:06 UTC

This package is auto-updated.

Last update: 2024-09-06 14:22:01 UTC


README

Userbase 角色提供者包

使用此包为通过 UserProvider 加载的用户添加角色。

Userbase 不提供其用户的角色信息,因此应用程序需要提供自己的信息。此包允许您为您的用户定义固定角色,这些角色将被集成到 Userbase UserProvider 加载的用户对象中。

config/roles.yaml 文件中定义固定角色:

my-username: [ROLE_ADMIN]
some-other-username: [ROLE_USER]

接下来,清除应用程序缓存,以便将这些角色固化到服务容器配置中。就这样!现在您可以根据这些角色限制对资源的访问。

该包将在没有任何进一步配置的情况下从 roles.yaml 文件中加载角色。它还可以配置为从环境加载角色。填充名为 userbase.roles 的服务参数是实现此替代配置的关键。

# add to a .env file
USERBASE_ROLES='{"adele":["ROLE_ADMIN"]}'

# add to config/services.yaml
parameters:
  userbase.roles: '%env(json:USERBASE_ROLES)%'

# add to config/packages/userbase.yaml
userbase_role_provider:
  fixed_roles:
    from_files: false

对 userbase.yaml 的更改将需要清除应用程序缓存。然后,角色将在每个请求的开始时从 USERBASE_ROLES 环境变量中加载。

安装

注意:此功能需要 userbase/client 包的 1.7 或更高版本。您可能需要通过以下命令开始安装:

$ composer require "linkorb/userbase-client ^1.7"

使用 Symfony Flex 的应用程序

打开命令控制台,进入您的项目目录并执行以下命令

$ composer require linkorb/userbase-role-provider-bundle

不使用 Symfony Flex 的应用程序

步骤 1:下载包

打开命令控制台,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本

$ composer require linkorb/userbase-role-provider-bundle

此命令要求您全局安装了 Composer,具体请参阅 Composer 文档中的 安装章节

步骤 2:启用包

然后,通过将其添加到项目 config/bundles.php 文件中注册的包列表中来启用该包。

// config/bundles.php

return [
    // ...
    LinkORB\Userbase\RoleProvider\UserbaseRoleProviderBundle::class => ['all' => true],
];