小编nmc*_*ree的帖子

Symfony授予security.yml中多个角色的路径访问权限

嗨,我希望能够允许访问security.yml基于用户具有ROLE_TEACHER或的路径ROLE_ADMIN.

根据symfony 2中相同网址所需的多个角色中的问题,下面的条目应允许任一角色访问.

- { path: ^/admin, roles: ROLE_ADMIN}
- { path: ^/admin, roles: ROLE_TEACHER}
Run Code Online (Sandbox Code Playgroud)

但是,这只允许顶级角色访问.有没有办法让多个角色访问单个路径?

php security roles access-control symfony

28
推荐指数
2
解决办法
2万
查看次数

Symfony/Doctrine"指的是不存在的拥有方字段" - 但属性存在于课堂中

SeUserProgress和SeUser.SeUserProgress表为每个用户保留多个条目.这通过以下两个映射表示.

class:SeUserProgress

/**
* @ORM\ManyToOne(targetEntity="SeUser", inversedBy="progress")
* @ORM\Column(name="user_id", type="integer", nullable=true)
*/ 
private $user;
Run Code Online (Sandbox Code Playgroud)

class:SeUser

/**
* @ORM\OneToMany(targetEntity="SeUserProgress", mappedBy="user")
*/ 
private $progress;
Run Code Online (Sandbox Code Playgroud)

但是我不断收到错误消息

The association PROJECT\ThisBundle\Entity\SeUser#progress refers to the owning side  field PROJECT\ThisBundle\Entity\SeUserProgress#user which is not defined as association.

The association PROJECT\ThisBundle\Entity\SeUser#progress refers to the owning side  field PROJECT\ThisBundle\Entity\SeUserProgress#user which does not exist.
Run Code Online (Sandbox Code Playgroud)

我甚至可以通过下面的代码调用progress属性(虽然它返回所有用户的所有进度).

$user->getProgress()
Run Code Online (Sandbox Code Playgroud)

关于为什么Doctrine没有识别映射属性的任何建议将不胜感激.

php entity symfony doctrine-orm

4
推荐指数
1
解决办法
8544
查看次数

站点根目录的Symfony访问控制

我创建了一个具有防火墙访问控制的站点,强制用户登录以访问任何内容,即

 - { path: ^/, roles: IS_AUTHENTICATED_FULLY}
Run Code Online (Sandbox Code Playgroud)

现在客户想要在网站的根目录上有一个启动页面,即www.sitename.com.

我有这个页面映射到DefaultController::indexAction,但我无法弄清楚如何允许IS_AUTHENTICATED_ANONYMOUSLY访问此页面,因为没有路径名称即www.sitename.com/splash-page关闭访问控制.

我甚至可以这样做吗?

php firewall access-control symfony

3
推荐指数
1
解决办法
3657
查看次数

Docker 多阶段

是否可以将多阶段 Dockerfile 的一个阶段复制到另一个阶段?

出于各种商业原因,我被指示使用多阶段 Dockerfile,但我真正需要做的是将应用程序服务器映像和网络服务器映像结合起来。这在 docker-compose 中很好,因为您可以参考每个部分 - 但我不确定这是否可以通过 GCP 和 Kubernetes 完成。

我的 Dockerfile 代码如下。

FROM php:7.1-fpm as appserver

RUN apt-get update && apt-get install -y libpq-dev \
    && docker-php-ext-install pdo pdo_pgsql pgsql
RUN apt-get update && \
     apt-get install -y \
         zlib1g-dev \
         && docker-php-ext-install zip

COPY ./app /var/www/html

FROM nginx:stable-alpine as webserver
COPY ./app /var/www/html/
COPY vhost-prod.conf /etc/nginx/conf.d/default.conf
Run Code Online (Sandbox Code Playgroud)

kubernetes dockerfile docker-multi-stage-build

1
推荐指数
1
解决办法
77
查看次数