问题标签 [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.

0 投票
1 回答
1512 浏览

ajax - symfony2 安全 - 禁用登录路径并显示禁止

当用户尝试访问没有令牌的页面时,我试图防止重定向到登录页面,我有单页应用程序,我只是将 ajax 请求放在防火墙下,当用户在没有令牌的情况下执行 ajax 时,我希望 ajax 返回禁止的异常,所以我将能够在客户端捕获它

当前 ajax 返回“Found”,因为请求被重定向到登录页面

到目前为止我还没有在食谱中找到解决方案我不想使用 api 令牌,只发送异常而不是重定向到登录

0 投票
0 回答
327 浏览

symfony - 如何将用户角色存储到会话中

我看到在每个页面上,用户对象都会再次从数据库中获取。即使用户对象被正确序列化,所以我认为这可能是因为与角色的关系。如何将这些信息存储到 Session 中?我将角色属性添加到用户的序列化函数中,并将可序列化接口添加到角色中。

0 投票
1 回答
435 浏览

symfony - Symfony RememberMe token_provider

我正在使用 silex 构建一个应用程序,我正在使用内置的 SecurityServiceProvider,我正在尝试使用 rememberme 服务,我正在查看文档,并且有一个名为 token_provider 的选项,但 symfony 并没有真正说明是否那是一个字符串,或者它是一个对象的实例。

任何帮助将不胜感激。

0 投票
2 回答
334 浏览

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

0 投票
2 回答
1145 浏览

php - 使用从服务定义的链提供者

我在我的应用程序中使用多个用户提供程序:

现在我需要从服务加载用户

如何明确使用链提供者?

0 投票
3 回答
1341 浏览

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

0 投票
2 回答
398 浏览

symfony - 基于身份验证将一个 url 路由到两个控制器操作

我对 Symfony 有点陌生,但我有一个易于解释的情况:

我有一个公共主页和一个私人主页。我想通过 URL“/”访问这两个

当未经身份验证的人访问地址 www.example.com/ 我希望他们被路由到 PublicController::indexAction()

当经过身份验证的用户访问地址 www.example.com/ 我希望他们被路由到 Privatecontroller::indexAction()

这可能吗?

(symfony 2.7 顺便说一句)

0 投票
1 回答
307 浏览

silex - 带有匿名参数的防火墙模式要求登录

我有一条带有参数的路由,它使我的防火墙跳闸,认为它需要先登录。我尝试将模式设置为使用路径中使用的名称形式,但它仍然说它需要身份验证。

有没有一种特殊的方法可以让模式与参数一起工作?我没有看到如何做到这一点。

谢谢

0 投票
1 回答
773 浏览

php - 拒绝访问 ROLE_ADMIN symfony

我使用 Symfony 2.7 和 FOSUserBundle 2.0

我想要的是允许用户访问 /adminROLE_ADMIN但拒绝他其他路径。

我想过php app/console fos:user:demote admin ROLE_USERbutROLE_USER是FOSUser的默认角色,所以每次admin连接时,ROLE_USER除了ROLE_ADMIN.

怎么能做到这一点?

0 投票
1 回答
405 浏览

symfony - Symfony + fosuserbundle + 防火墙的安全问题

我在使用 symfony security + fos 用户包时遇到了问题。我找不到任何人复制我的问题,只有类似的问题,但解决方案不起作用。除注册/重置/登录 url 外,包括 / 在内的所有页面都必须受到保护。

当我转到 /login 时,除非我将其添加到我的注册防火墙,否则该 url 是“受保护的”。这一直有效,直到我尝试登录,然后它说我需要将登录路径添加到主防火墙。