问题标签 [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 - 登录 Symfony 2 后重定向
在 Symfony 2 中,您可以为注销设置一个目标,以便在注销后您将被重定向到/main
. 但是,通过登录,您将被重定向到/
. 有没有办法为(成功)登录设置目标?
symfony - 使用一个登录表单验证多个 symfony2 防火墙
我有两个防火墙:
api
(用于 API 调用)main
(其他一切)
我的客户端应用程序登录是通过main
防火墙进行的。但是,它确实与api
防火墙下的端点交互以获取数据。这里的问题是我不想强迫用户再次登录以针对第二个防火墙进行身份验证。
如何仅使用一个登录表单对两个防火墙进行身份验证?
php - 如何以编程方式登录/验证用户?
我想在注册过程之后立即登录用户,而不通过登录表单。
这可能吗 ?我找到了一个解决方案FOSUserBundle
,但我没有在我实际从事的项目中使用它。
这是我的security.yml,我正在使用两个防火墙。纯文本编码器仅用于测试。
symfony - Symfony2 的安全性?
我用 symfony2 创建了一个简单的应用程序。用户可以使用他/她的用户名和密码登录。我为登录屏幕创建了一个简单的视图,然后我检查了控制器中的用户凭据。我没有使用 symfony2 安全性。这是我的控制器代码:-
路由.yml
实体(User.php)
现在我想用 symfony 安全性做所有的认证和授权。我阅读了教程,但无法理解所有内容。就像我如何使用我的同一个控制器进行身份验证,它如何使用 ADMIN_ROLE、USER_ROLE,我是否需要为这些角色创建一个表。我有很多与这个主题相关的困惑。到目前为止,我发现该教程很棒,但是我迷路了,需要可以帮助我的人。
symfony - 如何检查用户是否在控制器内登录 Symfony2?
我在这里阅读了如何在基于 Symfony2 的网站的树枝模板中检查用户的登录状态。但是,我需要知道如何检查用户是否从控制器内部登录。我很确定以下代码是正确的:
但它总是返回一些东西,例如登录用户或匿名用户。
任何的想法?提前致谢。
php - 如何知道 symfony2 自定义用户提供者中的“提供者”列
我无法找到 Symfony 安全提供者的其他选项
例如
此链接http://symfony.com/doc/current/cookbook/security/custom_provider.html
说
现在我知道 id 是实现的类的服务 idUserProviderInterface
但是webservice
这里是什么,我怎么能得到它?
这段代码和上面的代码有什么区别
我很困惑是否需要在那里使用用户作为实体或在那里UserManager
实现UserProviderInterface
security - 用户角色何时刷新以及如何强制刷新?
首先,我没有使用 FOSUserBundle 也不能,因为我正在移植一个遗留系统,它有自己的模型层(这里没有 Doctrine/Mongo/whatsoever)和其他非常自定义的行为。
我正在尝试将我的旧角色系统与 Symfony 连接起来,这样我就可以在控制器和视图中使用本机 symfony 安全性。
我的第一次尝试是getRoles()
从Symfony\Component\Security\Core\User\UserInterface
. 起初,它看起来很有效。但在深入研究之后,我注意到这些角色仅在用户登录时才会刷新。这意味着如果我授予或撤销用户的角色,他必须注销并重新登录才能使更改生效。但是,如果我撤销用户的安全角色,我希望立即应用它,这样我就不能接受这种行为。
我希望 Symfony 做的是在每个请求上重新加载用户的角色,以确保它们是最新的。我已经实现了一个自定义用户提供程序,并且refreshUser(UserInterface $user)
在每个请求上都会调用它的方法,但是角色并没有被刷新。
在我的 UserProvider 中加载/刷新用户的代码如下所示:
(refreshUser
看起来很相似)
有没有办法让 Symfony 在每个请求上刷新用户角色?
symfony - Symfony2 安全性:多个提供者
我的项目中有 2 个捆绑包:
- src/韩国/AlmacenBundle
- src/Galvez/RepuestosBundle
每个都有自己的数据库
- korea_motos -> AlmacenBundle
- galvez_motos -> RepuestosBundle
实际上我的 security.yml 只有一个提供者:
如您所见,两个捆绑包都由同一个表进行身份验证:Usuario,在 korea_motos
表:Usuario(korea_motos 数据库)
--ID--|----用户名----|---------捆绑包---
--1-----|-------------管理员----|------ ---AlmacenBundle------
--2-----|-------------管理员----|------ ---RepuestosBundle-------
现在我想验证用户,对于 RepuestosBundle,在 galvez_motos 中有一个表 Usuario,删除上一个表中的“bundle”列。
问题出在 security.yml 文件中。如果我这样做:
Symfony 启动异常:
我尝试使用 2 个提供程序,每个捆绑包一个表.. 这可能吗?
文件:security.yml
安全性:编码器:Korea\AlmacenBundle\Entity\Usuario:算法:sha1 encode_as_base64:错误迭代:1 Galvez\RepuestosBundle\Entity\Usuario:算法:sha1 encode_as_base64:错误迭代:1
config.yml -- 不能全部复制/粘贴:(
参数.yml
PD:对不起我的英语:S
symfony - Symfony 2 自定义用户提供程序
我正在尝试ShibbolethBundle
(https://github.com/rmoreas/ShibbolethBundle)工作。但坚持在登录时创建一个新用户。我发现这userProvider
不是正确的类(ShibbolethUserProviderInterface
在这里实现的类https://github.com/rmoreas/ShibbolethBundle/blob/master/Security/ShibbolethAuthProvider.php#L109
我的自定义提供程序定义如下:
安全.xml
我发现这本食谱 ( http://symfony.com/doc/current/cookbook/security/entity_provider.html ) 指出
为了完成实现,必须更改安全层的配置以告诉 Symfony 使用新的自定义实体提供程序而不是通用的 Doctrine 实体提供程序。通过删除 security.yml 文件的 security.providers.administrators.entity 部分中的属性字段可以轻松实现。
试过了,没用。用户提供者的类别仍然是Symfony\Bridge\Doctrine\Security\User\EntityUserProvider
.
我想知道通过删除属性字段,Symfony 如何找到我的自定义用户提供程序?
谢谢。
security - Symfony - 选民总是收到相同的对象
我已经实施了以下选民
服务定义
选民 申请/.../CompanyVoter.php
但是对投票者的每一个小调用(除了第一个Symfony\Component\HttpFoundation\Request
)都给出了一个Application\...\CompanyVoter
as的实例$object
(第二个参数vote()
)。
可能是什么原因?