问题标签 [sonata-user-bundle]

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 回答
1287 浏览

php - 如何从 SonataUserBundle 中的用户获取组?

我在 dev-master 中使用 symfony 2.2.3 和 sonata admin。

我想要一个自定义字段来显示来自特定组的用户。

我还没有找到如何与 Sonata User 实体和 Sonata Group 实体建立关系。

学说模式创建 3 个表:fos_user_user、fos_user_group 和关系表 fos_user_user_group。

我的 Admin 类中有一个带有类似字段的表单:

而我在 UserRepository 中的 getCoachs() 函数:

我知道查询不起作用,因为 innerJoin 不正确。

我的用户实体和组实体只是用 id 扩展 BaseUser 和 GroupUser。

有人知道正确的查询吗?

谢谢你。

编辑 :

好的,我找到了查询的解决方案:

但是,我有这个错误:

我不明白,因为我返回了我的函数 getCoachs(),它返回了一个查询生成器......

不知道 ?

0 投票
2 回答
1579 浏览

session - 模拟期间会话丢失

我使用配置sonata_user在以下位置的 SonataAdminBundle config.yml

/admin我在前缀下有我的管理面板。我已经用字段配置UserAdmin(基于User实体) 。impersonating我试图通过单击管理面板中的链接来模拟用户,我看到了应用程序(不是管理面板)登录页面。

我检查了开发人员工具栏,我注意到模拟用户的请求被重定向到登录页面。这很奇怪,因为此请求与前一个请求具有大部分相同的参数(用于管理面板中的用户列表)。尤其是Request Cookies截面相同。

我注意到一个区别Request Headers:第一个请求(用于管理面板中的用户列表)发送cache-control max-age=0但第二个请求(用于模拟)不发送。

ROLE_ALLOWED_TO_SWITCH显然,我以完全权限(特别是)登录到用户的管理面板。

那么,我怎样才能直接从管理面板模拟呢?我的应用程序可能有什么问题?

0 投票
1 回答
1769 浏览

php - 无法生成路由 value_user_create

我的 Symfony2-Project 与 SonataAdmin- 和 UserBundle 有问题。我根据 Admin- 和 UserBundle-Documentations 安装和配置了所有东西,并试图让它运行,这看起来不错。所以你可以说这两个捆绑包都是开箱即用的。当我尝试从 Admin-Dashboard 访问用户列表(默认路径/admin/sonata/user/user/list)时,我得到了这个:

如前所述,我既没有更改 Sonata 提供的默认路由信息,也没有覆盖 Controller 或任何东西。根据 symfony 控制台,存在其他 CRUDrouter:debug路由admin_sonata_user_user_create中的路由(指向/admin/sonata/user/user/create

所以对我来说,似乎 route-name 中的值value_user_create不会被admin_sonata_user-prefix 取代,但这只是一个想法,我无法证明。无论如何,我找不到任何地方来解决这个问题,所以每一个帮助和提示在这里都可能会有所帮助。

提前致以最诚挚的问候和感谢

编辑:我的奏鸣曲用户服务如下所示:

在这里第一次发表评论后,我创建了我自己的 UserAdmin-Class,它派生自默认的 Sonata\UserBundle\Admin\Entity\UserAdmin-Class,除了它如上所述将 baseRouteName 设置为 null。正如配置所说,我正在使用默认的 AdminBundle-CRUD-Controller。在那种情况下没有覆盖或任何东西。清除缓存,再次尝试 - 相同的错误消息。还尝试将其设置为文字,例如“user_admin”,但同样无效。奇怪的是,所有其他路线似乎都运行良好。我可以打开创建用户页面,以及创建组和列出组页面。

0 投票
5 回答
5760 浏览

security - 我需要在 symfony 2 中添加新的自定义角色来管理 SONATA Bundle 中的权限

我需要创建一个新的 ROLE 作为 ROLE_ERECTA_TASK_ADMIN 但我不知道如何在 Sonata 管理界面中声明它?我使用 Sonata Bundle 来管理我的用户组角色,现在我只有一些角色,但我想创建一些其他形式的我的 Bundles。

我的安全.yml

Sonata 管理员用户管理员: 在此处输入图像描述

提前致谢。

0 投票
1 回答
3071 浏览

php - SonataUserBundle + FOSUserBundle - 覆盖控制器

我将 SonataUserBundle 与 FOSUserBundle 一起使用。在 AppKernel.php 中它看起来像这样:

SonataUserBundle 中的一些控制器已经被覆盖。

现在我想覆盖 FOSUserBundle ChangePasswordController。所以我做了: src/Application/FOS/UserBundle/Controller/ChangePasswordController.php src/Application/FOS/UserBundle/ApplicationFOSUserBundle.php

以及修改过的 AppKernel.php

问题是......它无法正常工作。

致命错误:未捕获的异常 'LogicException' 带有消息 'Bundle "FOSUserBundle" 直接由两个包 "SonataUserBundle" 和 "ApplicationFOSUserBundle" 扩展。在 /home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache 第 2364 行(!) LogicException:捆绑“FOSUserBundle”直接由两个捆绑“SonataUserBundle”和“ApplicationFOSUserBundle”扩展。在 /home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache 第 2364 行

0 投票
1 回答
564 浏览

php - 安装奏鸣曲捆绑的问题

我从奏鸣曲捆绑开始,我需要安装但我不能:无论我遵循官方教程,我尝试访问 localhost 还是输入php app/console sonata:easy-extends:generate SonataUserBundle --dest=src它告诉我:

[InvalidArgumentException] Bundle "ApplicationSonataUserBundle" does not exist or it is not enabled.

或者我按照这个(fr),当我尝试更新作曲家时,它显示:

这是我第二期的 composer.json :

拜托,我被屏蔽了!这些捆绑包应该可以节省时间,但编写它们会更快!

0 投票
4 回答
2675 浏览

symfony - User locale does not work at first request

My website is running Symfony, master version. So far, I was able to use the LocalListener logic from the website, with a slight difference due to code not being compatible with my version. (I think) I only simplified the onKernelRequest method this way:

That way, I could put up a simple language selector on my page, using these paths, and the new language would apply at the first request. (it would not happen if I left the "else" condition)

Then I wanted to take account of the locale stored in user accounts, in case the user is logged in and has specified a locale in his or her profile. So I added this piece of code in the function :

(EDIT: sorry for poor indentation, somehow stackoverflow does not want to indent it properly...)

Basically it checks if a user is logged in, and if there is, if he or she has set a locale, and if they have, sets the locale to the user locale instead. Now this works, but... not instantly. Whenever I log in or change my locale in my profile, the next page I get to is still in the previously set locale. Only when I load a new page does it change its translations properly, and stays that way for the next requests.

So here is my question: is there something I am supposed to add to make this change occur on those post-login and post-profile-edit requests?

0 投票
2 回答
1481 浏览

sql - 带有连接表的多对一原则 - 过滤结果

我有一个Customer实体和User一个带有 JOIN 关系表的实体customers_users

Customer我有这个的实体中。

我希望在创建客户时我可以将用户分配给它并且实际上它运行良好,但是我希望过滤用户以仅显示那些未分配给无客户的用户。

例如,我有两个客户和两个用户,第一个客户分配了两个用户;然后当我编辑第二个客户时,似乎为它分配了两个用户,但是当我选择这些并发送表单时,它会引发以下异常:

0 投票
0 回答
278 浏览

php - 使用 XDebug 调试操作方法,绕过 Symfony2 上的登录表单

我正在使用 Sonata User 和 Sonata Admin 捆绑包(使用 XDebug over Eclipse Kepler PDT)调试 Symfony 2.3 应用程序,我需要调试一个特定的表单,但我想绕过登录表单和所涉及的所有调试,因为该过程是太长了。

0 投票
3 回答
2301 浏览

php - 创建用户后无法为“page_slug”生成 URL

我有一个奇怪的问题。我安装并配置了 SonataUserBundle 以使用 FosUserBundle 和 SonataAdminBundle。安装没有任何问题,一切似乎都运行良好,除非我通过 sonataUserBundle 网页创建另一个用户。一旦我创建了用户(并且它是在我查看数据库时创建的),我就再也看不到用户列表了。当我单击返回用户列表时,我收到以下错误:

如果我从数据库中删除用户,只有一个用户,那么我可以访问用户列表。

我完全不知道如何进一步解决这个问题......

编辑1:

感谢 Marko Jurinčič,我发现我的配置中有这些行

但是,这看起来不像是一条路线,而且实际上没有任何名为 page_slug 的路线。它应该有一个路线名称“page_slug”吗?