问题标签 [symfony-security]
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.
symfony - Symfony2 用户未在 Twig 异常控制器中定义
我使用自己的操作来处理树枝中的异常。
问题是,我实际上已经对我的应用程序进行了身份验证,但是在这个特殊的控制器中,令牌是空的。
有人有解决这个问题的想法吗,因为我在树枝模板中使用了用户对象。
php - 用户提交表单,但在他注册或登录之前不要保存
我有很多用户在单页上填写的表单,但是在用户发布后,控制器将检查表单是否有效以及用户是否已经登录然后保存信息。
需要帮助
如果用户未登录,则将他重定向到他注册的注册页面,注册后他将自动登录,然后它应该返回到带有发布值的同一个控制器,以便可以保存它。
$form->isValid && !$this->getUser()
然后将用户重定向到使用保存在会话中的此表单值的注册页面?- 用户注册或登录后,然后返回上一个控制器(无需任何进一步操作),它应该会自动保存之前提交的表单。因为它是
$form->isValid()
我很困惑,我应该在会话中保存表单值并重定向吗?它会正确保存模型值吗?
另外我应该如何将用户重定向到注册页面,同时告诉 Symfony 在登录后使用 post 方法返回同一页面。
php - 带有变量内部路由的 Symfony 访问控制
我在 security.yml 中为我的网站定义安全性
但我不确定如何在这里添加这样的路线:
id
考虑到我不能这样做,定义如何:
作为一条路线
不适用于未注册用户。
php - 使用注释的安全方法
我有一个带有表单的页面,想知道是否可以使用 GET 访问它,但只允许登录用户向其发布。
我知道这可以在 security.yml 中完成,但不确定如何使用注释来完成。
这将保护整个功能,但我想访问它,而不是在没有登录的情况下发布到它。另一种方法是检查 $form->isValid() 括号中是否有登录用户。但我仍然想知道是否可以使用注释来完成。
php - 此设置是否需要 ROLE_ADMIN?
我需要一些帮助来设置 Symfony2 项目下的一些 ROLE 层次结构配置。我有两个区域frontend
,用户ROLE_CHAT
应该能够登录并且backend
只ROLE_ADMIN
允许登录。ROLE_EXECUTIVE
我还有两个角色:ROLE_LOADER1
但这无法访问后端下的所有区域,如下表所示:
我遇到了一些问题,因为我不知道如何正确设置role_hierarchy
undersecurity.yml
以允许上面显示的权限。这就是我现在所拥有的:
安全性:编码器:FOS\UserBundle\Model\UserInterface:bcrypt
我的疑问是:为了访问后端区域ROLE_CHAT
,ROLE_EXECUTIVE
还ROLE_LOADER1
需要ROLE_ADMIN
吗?有没有其他方法来设置这个?我不知道这是否可以使用access_control
甚至超越并使用 ACL 来解决,这会使一切变得更加复杂,有关此设置的任何建议?想法?你会怎么做?
symfony - 具有现有用户类的 Symfony 登录表单
我正在尝试使用(并理解)安全性在 Symfony 中的工作方式。我创建了一个登录表单,它适用于硬编码的用户。
现在我想在我的数据库中使用现有的用户表。该表具有所有必需的字段,但具有不同的列名。该实体也存在,也有不同的名称(例如“customUserId”而不是“id”)。
类似于(使用“MAGIC_MAPPING”):
有没有办法映射我现有的字段,以便 Symfony 将它们用于登录目的?或者至少我可以在不改变我的数据库结构(只有实体类)的情况下让它工作?
我从这个论坛和 Symfony 文档中尝试了几种操作,但它总是以我无法修复的丑陋错误结束。
有什么想法或线索吗?非常感谢您的帮助,我已经为此苦苦挣扎了几个小时...
symfony - Silex(Symfony 3 组件)所有参数配置列表
我开始学习 silex 框架(基于 symfony)。我写这样的代码
有许多配置选项,如模式、表单、用户等(示例)。我在哪里找到每个 Provider 的所有配置选项(在文档中通常很少但不是全部)。我在API中搜索但没有找到。
php - Symfony 无法进行身份验证
我正在关注Symfony 食谱,并在“避免常见陷阱”中说:
此外,如果您的防火墙不允许匿名用户(无
anonymous
密钥),您需要创建一个允许匿名用户登录页面的特殊防火墙
所以我实现了我的security.yml
文件如下:
问题是,每当我尝试登录时,我都会被重定向到登录页面,但我从未获得过身份验证。我还尝试在两个防火墙之间共享上下文(即它们使用相同的context
),但没有任何积极作用。
这个配置有什么问题?
编辑:
这是我的login.html.twig
模板:
php - Symfony2 中具有相同模式的多个安全防火墙
我为两种类型的用户使用了两个具有相同模式的防火墙:
- 可以访问前端和后端的管理员,他们可以在前端应用程序中看到一些额外的控件,然后是普通用户。
- 只能访问前端的用户。
这是我的简化security.yml
配置:
问题是,当任何未登录的用户尝试访问时,例如/user/profile
,他们会被重定向到/admin/login
. 我猜这是因为两者之间没有联系firewall
,access_control
所以 Symfony 无法知道用户是否尝试访问部分ROLE_FRONTEND_USER
,ROLE_ADMIN
然后进行相应的重定向。
我的问题是,有什么优雅的方法可以解决这个问题吗?也许使用事件侦听器并手动检查拒绝的权限是否需要请求的 URLROLE_FRONTEND_USER
或ROLE_ADMIN
角色?
php - Symfony 安全重定向到登录页面
如果我有一个安全的路线,让我们panel
从下面说,Symfony 将只允许登录用户访问。
对于未登录的用户,它将始终将他们重定向到 login_path(我正在使用 FOSUserBundle):
我在哪里可以禁用或覆盖此重定向?我想直接显示登录表单,而不重定向用户。
我相信它与AccessDeniedHandlerInterface
,但是需要在 security.yml 中覆盖什么密钥?默认实现在哪里?
对于我们拥有的其他情况DefaultLogoutSuccessHandler, DefaultAuthenticationFailureHandler, DefaultAuthenticationSuccessHandler
,我们可以为这些情况中的每一种情况实现一个服务,扩展它们各自的接口并可以以自定义方式处理这种情况。但是,找不到任何关于 AccessDenied 的内容。它的目录只包含接口。