happyr/user-project-bundle

如果您有多个用户将共享对一个或多个对象的操作权限。

安装: 313

依赖: 0

建议: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

公开问题: 0

类型:symfony-bundle

0.3.1 2016-06-15 10:08 UTC

This package is auto-updated.

Last update: 2024-08-25 05:47:52 UTC


README

如果您有多个用户将共享对一个或多个对象的操作权限。

安装

步骤 1:使用 Composer

使用 Composer 安装它!

// composer.json
{
    // ...
    require: {
        // ...
        "happyr/user-project-bundle": "dev-master",
    }
}

然后,您可以从存放 composer.json 文件的目录运行 Composer 的 update 命令来安装新的依赖项

$ php composer.phar update

步骤 2:注册包

将包注册到您的内核中

<?php

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new Happyr\UserProjectBundle\HappyrUserProjectBundle(),
    // ...
);

步骤 3:初始化 ACL

如果您之前还没有做过,现在是时候初始化 ACL 了。如果您想了解关于 访问控制列表 的内容,或者您可以运行以下命令

php app/console init:acl

步骤 4:配置包

# app/config/config.yml

#happyr_user_project:
  #no config at this point

要求

您的 User 对象必须实现 Happyr\UserProjectBundle\Model\ProjectMemberInterface。在项目中的其他对象也必须实现 Happyr\UserProjectBundle\Model\ProjectObjectInterface。

https://symfony.ac.cn/doc/current/cookbook/doctrine/resolve_target_entity.html

use Happyr\UserProjectBundle\Model\ProjectObjectInterface;
use Happyr\UserProjectBundle\Entity\Project;

class MyObject implements ProjectObjectInterface
{
    /**
     * @var \Happyr\UserProjectBundle\Entity\Project project
     *
     * @ORM\ManyToOne(targetEntity="Happyr\UserProjectBundle\Entity\Project", inversedBy="objects", cascade={"persist"})
     *
     */
    protected $project;

    public function getId()
    {
        return $this->id
    }

    public function getProject()
    {
        $this->project;
    }

    /**
     *
     * @param Project $project
     *
     */
    public function setProject(Project $project)
    {
        $this->project=$project;
    }
}

路由

# app/config/routing.yml
happyr_user_project:
    resource: "@HappyrUserProjectBundle/Resources/config/routing.yml"
    prefix:   /