问题标签 [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.
php - security.yml 导致 InvalidArgumentException:“您必须至少添加一个身份验证提供程序”
根据教程,我删除了内存提供程序和 DemoBundle,并添加了数据库提供程序。但我得到InvalidArgumentException
:“您必须至少添加一个身份验证提供程序”。
我的security.yml:
我还尝试使用 YAML 可视化工具,以确保我没有搞砸缩进,这是正确的。
php - 即使应用程序处于活动状态并且人们正在处理它,会话也会结束
我正在处理的应用程序中有一个“奇怪”的问题,到目前为止我找不到解决这个问题的方法。该应用程序使用 Symfony2.6.x 并依赖于多个 Ajax 调用。所有的时间请求都是通过 Ajax 发出的。所以,当我登录到应用程序(使用 FOSUserBundle)时,Symfony 会自动启动一个新会话,对吗?好的,从那一刻到config.yml
会话生命周期定义的时间(参见下面的配置),应用程序仍在工作,但在某些时候我被重定向到登录页面并且会话关闭,即使我正在积极处理应用程序。我最好的方法是在 Symfony 或 PHP 中的会话生命周期中不考虑 AJAX 调用,我是对的吗?
我对这个问题的最佳方法和解决方案,不知道我是否正确,也没有尝试过,我想在这里听听一些人的意见,是重新生成会话的 ID(通过调用migrate()
当前活动会话) 每次进行 AJAX 调用时,这样会话将保持活动状态,这种方法是否正确?有什么建议吗?
这是我在 config.yml 中用于会话部分的配置:
注意: 这篇文章和我的另一篇文章基本上都在谈论相同的内容,但我仍然没有解决这个问题,它正在扼杀我的应用程序和我试图找到解决方案的头脑。
symfony - 扩展 Symfony2 用户对象
在我的数据模型中,我有两个实体:“公司”和“客户”。公司代表我拥有的公司,客户就是我的客户。所有公司和客户都应该有自己的用户帐户才能登录。阅读 Symfony2 的安全性我创建了这个模型,其中公司和客户扩展了Symfony2 安全性所需的用户对象。
我的问题是:这可以在 Symfony2 安全框架中使用身份验证和授权吗?此外,如果您有多个映射到用户的实体,这是对数据建模的常用方法吗?
php - $security 的默认值应该是多少?
我正在研究这种方法:
但是当它被调用时我得到了这个错误:
控制器 "GroupDCA\PDOneBundle\Controller\LoginController::loginAction()" 要求您为 "$security" 参数提供一个值(因为没有默认值或者因为在此参数之后有一个非可选参数)。
该参数的默认值应该是什么?我使用的方式对吗?
symfony - 我可以使用选民删除集合中的项目吗
我想使用选民来增强我的代码的安全性。我只希望某些用户能够删除项目集合。
这是我的例子:
我有一篇文章和与文章相关的标签。我希望文章的作者能够删除与该文章关联的标签(只有文章的作者可以这样做)
我正在考虑使用选民(检查用户是否是文章的作者),但我在互联网上找到的每个示例都显示从树枝或控制器调用的选民......而收集选项“允许-delete" symfony 从实体 Article 调用方法 removeTag($tag)。我也看不到我可以如何/在哪里打电话给选民。
symfony - 保护 Symfony2 中的所有 url
我正在使用 Symfony 2.6.6。还有我的结构文件夹
LoginController
已经loginAction()
并且loginCheckAction()
LoginAction()
将显示登录表单并loginCheckAction()
进行检查。
我看到一些教程来创建LoginController.php
. 用户登录后通过检查我设置:
我的目的是:所有用户必须登录才能访问我的网络应用程序的所有页面。
但是我的网站有很多控制器和操作(页面)。
我的想法是:检查所有控制器的所有操作中是否存在“登录”会话,如果不存在则重定向到登录操作。
但我认为这太手动了。Symfony 最好的方法是什么?
更新 1:
之后我尝试在我的security.yml
文件中添加一些代码。如果用户未登录,它会重定向到登录页面,但它总是重定向到登录页面。我想如果用户登录(有“登录”部分)它可以访问其他页面。怎么做 谢谢
更新 2
这是我的Login Controller
这是我的 Other1Controller.php
它总是重定向到登录页面。在我填写我的字段并提交登录后,它仍然重定向到登录页面?我该如何解决谢谢。
symfony - 如何在 Symfony 中测试安全防火墙后面的页面?
在 Symfony 的说明书中,有一个名为How to Simulate Authentication with a Token in a Functional Test的页面。其中,据说:
如何在功能测试中模拟 HTTP 身份验证中描述的技术更简洁,因此是首选方法。
此外,在上面引用链接的页面上,文档说:
诀窍是在防火墙中包含 http_basic 密钥以及 form_login 密钥
这告诉我,拥有form_login
密钥和密钥是可以的http_basic
,并且应该以某种方式http_basic
优先。
这是我的config_test.yml
配置文件:
但是,当我在环境中打开我的应用程序时test
,我仍然会被重定向到 login_form URL。
为什么没有http_basic
像文档所说的那样设置行为,即它被激活而不是form_login
?
php - 无法获取注销操作奏鸣曲项目
这是我的 security.yml 文件
我的问题是注销问题,我无法在主控制器中访问注销功能。单击“注销”时出现此错误 您必须在安全防火墙配置中激活注销。
php - 注销后如何重定向到主页?
我在 symfony 上提供了一个预构建项目,其中注销会话重定向到登录屏幕,但现在我希望该页面重定向到主页上。我在编码文件中发现的是:
在基本树枝文件中:
在 routing.yml
symfony - 自定义身份验证未正确验证用户身份
我在 symfony 2.6 中设置了我自己的自定义身份验证器,但是我遇到了一个问题。它没有正确验证我的用户。它首先验证成功,然后失败。
这是我的security.yml
我的自定义身份验证器
还有我的日志