问题标签 [symfony-4.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

php - 如何从对象中获取价值?

我正在使用 Symfony 4.2,我在我的控制器中获取了会话,例如:

$data = $this->get('security.token_storage')->getToken()->getUser();

当我

转储($数据);

给我,

在这里,如何从该对象中获取“f_name”?

0 投票
2 回答
89 浏览

symfony - 成功登录后如何设置 access_control 以禁止具有“ROLE_USER”的用户访问路径:^/login?

security.yaml文件中,我们定义了各种路由的访问控制以及可以访问同一路由的角色。

但是我们如何设置已登录但不能重新访问 /login 页面的用户,除非它注销并且“ROLE_USER”更改为“anon”。

我是 Symfony 4.2 的新手。

控制器:

0 投票
2 回答
1712 浏览

php - 使用 Compiler pass 实现策略模式 Symfony 4 对我来说是错误的

我使用 Symfony 4.2 实现了策略模式,问题是下面的 addMethodCall 没有执行。

在 kernel.php 我得到了受保护的函数 build(ContainerBuilder $container) { $container->addCompilerPass( new ConverterPass() ); }

我的 ConverterInterface.php

然后是 ConvertToSela.php 和类似的另一个 Convert

在我执行的 Conversion.php 中,我得到空数组,这意味着未调用 addConverter。

0 投票
1 回答
738 浏览

symfony-4.2 - 使用 $form->createView() 渲染表单时 Symfony 4.x ROLE_USER 错误

我正在使用 Symfony 4 创建一个博客并使用以下命令生成表单:

php bin/控制台 make:form

当我尝试像这样渲染它时:

我收到这个错误

无法将数据库值“'ROLE_USER'”转换为 Doctrine Type json

对于这条线

'form' => $form->createView()

这是我的 getRoles :

和我的 security.yaml

我正在搜索 3 天并在没有安全管理的情况下在第二个目录中重新启动了我的项目,我不明白它的来源以及如何解决它

谢谢

0 投票
0 回答
257 浏览

php - Api-Platform 在 api_platform.yaml 中缺少“服务器”配置键

缺少Api 平台配置页面servers键。

更多信息在这里:

我需要找到一种解决方案来将服务器添加到 /api/docs.json?spec_version=3 而无需每次都手动执行

现在我正在从浏览器下载文件,然后手动添加缺少的密钥——它可以工作,但这不是我想要的。

{"openapi":"3.0.2","servers":[{"url":""}],...

我正在为想要使用 openapi 文档的新开发人员寻找最省力的最佳解决方案。

0 投票
1 回答
248 浏览

authentication - Symfony 在登录和重定向之间丢失身份验证会话

我有一个应用程序,它的表单登录一直运行良好。

然后,我使用本指南为其添加了一个 api 端。现在我在网页端的登录不再起作用了。

这是我的 security.yaml 文件:

我不确定我还需要发布什么,但我想不出任何其他可能会导致它崩溃的改变。

如果我在实现 API 之前恢复到某个点,登录会再次正常工作。

可能是什么问题?

0 投票
2 回答
120 浏览

symfony - 使用自定义用户实体将我添加到 Symfony 4.2 安全性

我正在使用 Symfony 4.2,

我正在使用安全组件,我正在尝试添加记住我。

起初记住我为我工作,但是当我的用户实体成为自定义时,记住我不再工作了,

我的自定义用户:

我已连接到无法对其进行任何更改的 wordpress 数据库(我必须只读),并且我需要向用户添加一些字段,因此我必须使用 WpUsers 创建一个新表 User OneToOne(wordpress用户),

所以,我使用教义从现有数据库创建实体,我没有触及这些实体,我只是创建我的用户实体只是为了将角色字段添加到用户系统:

Wordpress 通行证使用 phpass 进行散列。

Entity\WpUsers(由学说生成):

实体\用户.php:

安全.yaml:

安全\登录表单身份验证器:

login.twig.html:

0 投票
2 回答
130 浏览

symfony - 在教义中使用间隔时出错

当我使用下面的查询(Doctrine 2)时,我遇到了错误,并且不能在查询中使用 INTERVAL,

错误:预期的 Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS,得到 '48'"

0 投票
1 回答
2049 浏览

config - Symfony 4.2 自定义循环引用处理程序不适用

背景是我一直在尝试为我的实体设置一个自定义循环引用处理程序,这将影响所有实体。

根据文档(https://symfony.com/doc/current/components/serializer.html#handling-circular-references),我们被引导在文件中设置服务circular_reference_handler下的值,如下所示:serializerconfig/packages/framework.yaml

我的实际问题是,当序列化程序尝试加载循环引用处理程序时,我的覆盖似乎不存在: 图像显示键引用 图像显示上下文为空

为什么我的覆盖根本没有应用于上下文?

我试图:

  • 重新加载缓存
  • 使用我的 API 平台包中的 ContextBuilder 类
  • 在规范器中应用它

没有一个工作过

我向你展示了我的 yaml,但这里是处理程序:

这是我尝试使用的上下文构建器:

这是我注册的地方(doc):

我希望AbstractNormalizer->handleCircularReference()在使用该方法时应用我的自定义 circular_reference_handler ,但实际情况是此方法中收到的上下文不包括我的附加键/值对(例如['circular_reference_handler => App\Services\CircularReferenceHandler]

0 投票
1 回答
271 浏览

php - 如何覆盖默认 Psr\LogLoggerInterface 别名

我尝试为实现此接口的服务创建 ID 为“Psr\Log\LoggerInterface”的别名。
但别名似乎不起作用。

这是我的配置services.yaml

这就是我尝试在控制器中获取服务的方式:

我希望得到有类的服务,A\Name\Space\LoggerService但我得到了类‌Symfony\Component\HttpKernel\Log\Logger

如果我直接获得服务,它运行良好:

最后,如果我将别名更改为:

它运作良好。但我不想覆盖 Symfony 记录器服务, 覆盖别名。