问题标签 [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.
ajax - symfony2 安全 - 禁用登录路径并显示禁止
当用户尝试访问没有令牌的页面时,我试图防止重定向到登录页面,我有单页应用程序,我只是将 ajax 请求放在防火墙下,当用户在没有令牌的情况下执行 ajax 时,我希望 ajax 返回禁止的异常,所以我将能够在客户端捕获它
当前 ajax 返回“Found”,因为请求被重定向到登录页面
到目前为止我还没有在食谱中找到解决方案我不想使用 api 令牌,只发送异常而不是重定向到登录
symfony - 如何将用户角色存储到会话中
我看到在每个页面上,用户对象都会再次从数据库中获取。即使用户对象被正确序列化,所以我认为这可能是因为与角色的关系。如何将这些信息存储到 Session 中?我将角色属性添加到用户的序列化函数中,并将可序列化接口添加到角色中。
symfony - Symfony RememberMe token_provider
我正在使用 silex 构建一个应用程序,我正在使用内置的 SecurityServiceProvider,我正在尝试使用 rememberme 服务,我正在查看文档,并且有一个名为 token_provider 的选项,但 symfony 并没有真正说明是否那是一个字符串,或者它是一个对象的实例。
任何帮助将不胜感激。
symfony - 如何将 Neo4j 与 FOSUserBundle 一起使用?
我正在尝试调整FOSUserBundle
以使用我的 Neo4j 数据库,但我似乎无法让它工作。经过很长时间尝试实现我自己的用户系统但没有任何运气(在 Symfony2 中设置 NEO4j),我开始尝试使用FOSUserBundle
.
我使用了以下文章和存储库:
https://github.com/ikwattro/Neo4jUserBundle
我已经把它复制到我的UserBundle
. 我已经改变了namespaces
.
我从这里获取了图形管理器:https ://github.com/ikwattro/KwattroNeo4jOGMBundle
其余的,我遵循了FOSUserBundle
文档。
现在,当我进入注册表时,所有字段都会出现,我可以填写我喜欢的凭据。这行得通。单击提交后,我被重定向到成功页面,在该页面上显示警报覆盖:
加载 Web 调试工具栏时出错(500:内部服务器错误)。是否要打开分析器?
如果我随后进入分析器,我可以看到我已成功获得授权并以我刚刚创建的用户身份登录。数据也成功保存在我的neo4j
数据库中。
现在的问题是,如果我转到 Symfony 项目的任何其他页面,我会再次以匿名身份登录。如果我进入登录页面,表单会正确显示,但它总是返回:Invalid credentials。
我猜,我的会话或安全性有问题吗?
这是我的security.yml:
我不知道这些信息是否有帮助或相关,但在Request
注册后右侧的分析器中(当用户仍然经过正确身份验证时)这是会话信息:
任何帮助或提示将不胜感激。
更新 [21.07.2015]
我现在已经创建了一个存储库:https ://github.com/JoranBeaufort/Neo4jUserBundle (我希望这可行,我第一次使用 GitHub)
我想会话处理有问题吗?
需要指出的另一件事是,依赖注入似乎没有做任何事情。我一定错过了一些重要的事情。
如果能够提供一个Neo4jUserBundle
开箱即用的工具,FOSUserBundle
并且可以在 Symfony 项目的配置文件中进行配置,那就太好了。伟大而重要的也是数据库的身份验证(使用用户名和密码连接到neo4j
)。
更新 [22.07.2015]
我已经改变了bundlename
,我想我终于DependencyInjection
可以开始工作了。我不太确定,但我认为我的班级命名方式有问题。
我也试过你的建议findUserById
。我编写了一个控制器,它采用路由myapp.com/neo4juser/debug/finduserbyid/{id}
,然后使用该findUserById
方法返回用户。这是有效的。我的 Neo4j 数据库中有一个用户,ID = 68,email=test@test.test。如果我现在进入myapp.com/neo4juser/debug/finduserbyid/68
页面加载显示该用户的正确电子邮件。
可以在这里找到 TWIG:https ://github.com/JoranBeaufort/Neo4jUserBundle/blob/master/Resources/views/Debug/finduserbyid.html.twig
和这里的控制器:https ://github.com/JoranBeaufort/Neo4jUserBundle/blob/master/Controller/DebugController.php
中的方法UserManager
似乎正在返回所需的对象。
这是否有助于弄清楚为什么登录不起作用?序列化是否与错误或加密类型有关?还是与 CSRF 有关?任何进一步的提示?
更新 [23.07.2015]
in_memory
用作提供者并设置用户时in_memory
,登录有效。因此,现在我已将问题范围缩小到提供者。
我越来越近了!现在 dev.log 文件中的错误为:
重要的是“用户名“测试”部分不存在。我猜这意味着用户提供程序中的某些内容不起作用。谁能发现问题可能是什么?我正在调用的提供者可以在这里找到:https ://github.com/JoranBeaufort/Neo4jUserBundle/tree/master/Security
php - 使用从服务定义的链提供者
我在我的应用程序中使用多个用户提供程序:
现在我需要从服务加载用户
如何明确使用链提供者?
symfony - 无法更新实体
在 Symfony 2(最新版本)下,我正在尝试更新我的实体:
我在终端中收到此错误消息:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
“security.firewalls.access_control”下无法识别的选项“0、1、2、3”
我是 Symfony 的新手,我不知道在哪里可以搜索来解决这个问题。
这是 security.yml 文件:
http://symfony.com/doc/current/book/security.html
安全性:编码器:FOS\UserBundle\Model\UserInterface:bcrypt
symfony - 基于身份验证将一个 url 路由到两个控制器操作
我对 Symfony 有点陌生,但我有一个易于解释的情况:
我有一个公共主页和一个私人主页。我想通过 URL“/”访问这两个
当未经身份验证的人访问地址 www.example.com/ 我希望他们被路由到 PublicController::indexAction()
当经过身份验证的用户访问地址 www.example.com/ 我希望他们被路由到 Privatecontroller::indexAction()
这可能吗?
(symfony 2.7 顺便说一句)
silex - 带有匿名参数的防火墙模式要求登录
我有一条带有参数的路由,它使我的防火墙跳闸,认为它需要先登录。我尝试将模式设置为使用路径中使用的名称形式,但它仍然说它需要身份验证。
有没有一种特殊的方法可以让模式与参数一起工作?我没有看到如何做到这一点。
谢谢
php - 拒绝访问 ROLE_ADMIN symfony
我使用 Symfony 2.7 和 FOSUserBundle 2.0
我想要的是允许用户访问 /adminROLE_ADMIN
但拒绝他其他路径。
我想过php app/console fos:user:demote admin ROLE_USER
butROLE_USER
是FOSUser的默认角色,所以每次admin连接时,ROLE_USER
除了ROLE_ADMIN
.
怎么能做到这一点?
symfony - Symfony + fosuserbundle + 防火墙的安全问题
我在使用 symfony security + fos 用户包时遇到了问题。我找不到任何人复制我的问题,只有类似的问题,但解决方案不起作用。除注册/重置/登录 url 外,包括 / 在内的所有页面都必须受到保护。
当我转到 /login 时,除非我将其添加到我的注册防火墙,否则该 url 是“受保护的”。这一直有效,直到我尝试登录,然后它说我需要将登录路径添加到主防火墙。