Symfony 2 Guard 组件和普通登录表单

2023-12-20

我正在尝试使用新的Guard http://symfony.com/blog/new-in-symfony-2-8-guard-authentication-component成分。我找到的关于它的唯一信息是官方文档 http://symfony.com/doc/2.8/cookbook/security/guard-authentication.html.

医生的示例使用 Guard 来验证 API 请求。

根据文档,它也可以与普通的登录表单一起使用,这就是我想要做的。

我复制了该示例并替换了两个函数:

public function getCredentials(Request $request)
{
    return array(
        'username' => $request->request->get('_username'),
        'password' => $request->request->get('_password'),
    );
}

public function getUser($credentials, UserProviderInterface $userProvider)
{
    $email = $credentials['username'];

    $user = $this->em->getRepository('Entity\User')
        ->findOneBy(array('email' => $email));

    return $user;
}

安全.yml:

providers:
    user_provider:
        entity:
            class: Entity\User
            property: email

firewalls:
    user:
        switch_user: { role: ROLE_ADMIN }
        pattern:  ^/
        anonymous: ~
        provider: user_provider
        form_login:
            check_path: login_check
            login_path: login
        logout:
            path:   logout
            target: login
        guard:
            authenticators:
                - app.ldap.authenticator
        stateless: false

问题是 Symfony 不保留我的会话。

仅当我为每个请求发送数据表单时,我才会登录。是否可以像普通登录表单一样发送一次此数据?


我找到了。我有 security.yml

always_authenticate_before_granting:  true

从另一个项目复制的:)。我删除了它,现在可以使用了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 2 Guard 组件和普通登录表单 的相关文章

  • FOSRestBundle:显示我的自定义异常消息

    我试图在 FOSRestBundle 中添加异常的自定义控制 但它似乎忽略了我的自定义消息 响应的状态代码正常 I have throw new HttpException 404 User id not found 但得到这个 json
  • UNIX时间记录时区吗?

    我想问一下UNIX时间 UNIX时间是否记录时区 我将托管从美国芝加哥移至 JST 问题是我的整个 MySQL 数据库都有 UNIX 时间 芝加哥 美国时区 的记录 我有一个 PHP 代码来显示之前的时间 例如 3 天前 昨天等 当我搬到新
  • 包括 PHPUnit 在内的麻烦

    我想开始为我的代码编写测试 因此我使用以下命令安装了最新的 PHPUnit wget http pear phpunit de get phpunit phar chmod x phpunit phar mv phpunit phar us
  • PHPUnit 和来自 Guzzle 的模拟请求

    我有一堂具有以下功能的课程 public function get string uri stdClass this gt client new Client response this gt client gt request GET u
  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • 如何使用 HHVM proxygen 重写规则忽略任何文件?

    我创建一个这样的文件example ini hhvm server type proxygen hhvm server default document index php hhvm virtual host default rewrite
  • 我可以从匿名 PL/SQL 块向 PHP 返回值吗?

    我正在使用 PHP 和 OCI8 执行匿名 Oracle PL SQL 代码块 有没有什么方法可以让我绑定一个变量并在块完成后获取其输出 就像我以类似的方式调用存储过程时一样 SQL declare something varchar2 I
  • PDO::commit 之后使用 PDOStatement::rowCount 结果?

    在 MySQL 文档中 有一个关于使用的注释mysql affected rows事务提交后 http php net manual en function mysql affected rows php http php net manu
  • PHP中特殊字符的转换

    我已经尝试了很多功能 但我根本无法弄清楚这一点 无论如何 正确的方法 在称为描述的表单字段中 我可以期待各种字符 在将它们提交到数据库之前 需要将它们格式化为 HTML 实体 现在 我的代码 formdesc htmlentities PO
  • 简单的 preg_replace 返回 null

    为什么这个非常简单的 preg replace 返回 null preg replace s test test 这个想法是删除空格 您忘记添加分隔符 preg replace s test test 而且最好使用 s 代替 s 在你的模式
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • PHP 中的异步数据库/服务调用:Gearman 与 pthreads

    在我们的 LAMP 站点上 我们遇到一些服务必须多次调用数据库才能提取数据的问题 通常在 PHP 中完成此操作的方式 至少我的经验 是串行的 这显然是低效的 我们可以通过使用缓存和聚合一些查询来缓解一些低效率的问题 但在某些情况下我们仍然需
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • PHP - 发送带有附件的电子邮件不显示消息内容

    尝试创建一个脚本 我可以在其中发送带有附件的电子邮件 一切正常 除了当我不在电子邮件中添加文件时 我仍然可以看到带有 0B 且没有名称的附件 if isset POST my send email to POST my email to r
  • 基本的 simpleXML 工作示例?

    看起来 PHP 中的 simpleXML 有很多问题 我在 Windows 上运行最新版本的 php 但无法让 simpleXML 的基本示例按照文档中的方式工作 我的 xml 文件是
  • PDO fetch() 失败时会抛出异常吗?

    有没有方法PDO语句 fetch http php net manual en pdostatement fetch php如果 PDO 错误报告系统设置为抛出异常 则在失败时抛出异常 例如 如果我设置 PDO ATTR ERRMODE g
  • php包含来自另一个目录的文件

    这是一个结构示例 main css style css include article1 php article2 php header php index php 在我的 header php 中 我有以下 css 代码 例如 在我的 i
  • PHP 与 .= 相反

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 有谁知道是
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给

随机推荐

  • 在 Java 8 中从流创建多值映射

    有没有办法优雅地初始化和填充多值Map
  • 是否可以在 CSS3 选择器中使用 CSS 变量?

    我正在尝试使用 CSS 变量进行一些实验 但我无法让它工作或找到任何有关它的文档 有谁知道是否可以在 CSS3 选择器中使用 CSS var 我做了下面的例子来解释我想做的事情 此示例仅适用于 Chrome JSFIDDLE http js
  • SAS 中的退出与运行语句

    在 SAS 中 退出 和 运行 有什么区别 声明 我不知道何时使用 退出 以及何时使用 运行 例如 为什么是proc datasets using quit but proc contents using run 这可以追溯到 SAS 曾经
  • travis CI 中跳过了 SonarQube Scanner 分析

    有谁知道 SonarQube 扫描仪分析可能被跳过的原因是什么 sonar scanner X Dsonar host url https sonarqube com Dsonar login SONAR TOKEN 08 59 10 16
  • XCode 6.0.1 上的 Apple Mach-O 链接器错误

    我已将 XCode 更新到 6 0 1 在此更新之前 我能够在模拟器和我的设备中构建我的项目 但现在 它给了我Apple Mach O 链接器错误 我冲浪了很多 我已删除 DerivedData 文件夹 仍然有问题 我正在构建一个 Phon
  • 我试图让 UILabel 在 UIScrollView 内部滚动,但它不滚动

    这是我的 m 中 void viewDidLoad super viewDidLoad self scrollView addSubview self contentView self scrollView contentSize self
  • 在“数据工厂”模式下启用发布

    我已在 Azure 数据工厂上启用 Git 我也创建了我的 Git 存储库 当我想创建一个新的管道时 我收到以下消息 您已在数据工厂中启用 GIT 数据工厂 模式下的发布已禁用 请切换回 GIT 模式以进行进一步更改 当我想选择 GitHu
  • CSS伪元素::before(2); :之前和:之前

    我正在使用 css 并且尝试在我的 div 中添加一个元素 之前 就像箭头一样 有什么办法可以实现吗 我尝试了伪 before 但有三个 before 2 before 和 before 它们让我很困惑 它们之间有什么区别 The 内容的
  • Ruby 中检查变量是否为字符串

    还有比下面更惯用的吗 foo class String 我想你正在寻找instance of is a and kind of 将为派生类的实例返回 true class X lt String end foo X new foo is a
  • 如何更改密码框的屏幕键盘

    我有一个盒子 我想要输入仅由数字组成的密码 例如 ATM 卡 PIN 码 最好的方法是什么 要求 密码 带有隐藏数字 输入数字作为默认 唯一 键盘 我尝试过的 我认为 InputScopes 是可行的方法 但我无法在密码框中设置输入范围 我
  • 正则表达式选择标签之间的所有文本

    选择 2 个标签之间的所有文本的最佳方法是什么 例如 所有 之间的文本 pre 页面上的标签 您可以使用 pre pre 用您想要的任何文本替换 pre 并提取第一组 对于更具体的指令 请指定一种语言 但这假设您有非常简单且有效的 HTML
  • Git - 如何查找目录中所有项目的所有“未推送”提交?

    我终于习惯了 Git 在最初的陡峭学习曲线之后 我必须说它非常好 我只是怀念单个文件外部 但那是另一个故事了 然而 我有一个无法解决的问题 我目前正在同时处理十几个项目 它们都是相互关联的 我必须从一个跳到另一个 到处做出改变 到目前为止一
  • 带有无效证书的自定义 NuGet feed

    如何使用 nuget 命令禁用 SSL 证书检查 PS C 软件 gt nuget exe 列表 无法加载服务索引 来源https asd ca api feeds https asd ca api feeds 一个错误 发送请求时发生 底
  • 使用 ManyToMany 的 TomEE + OpenJPA 不起作用

    我认输了 我不明白 这能有多难 我有两个实体User and Group 具有多对多关系 Group管理关系 所以在Group I have Entity Table name GROUPS catalog schema GROUPADMI
  • 使用 OpenCV 从相机捕获灰屏

    我在从网络摄像头 内置 hp dv5 捕获图像时遇到问题 唯一的结果是灰屏 这是代码 include StdAfx h include cv h include highgui h include
  • 是否可以自动化 ClickOnce 部署?

    我从事的项目由服务器和通过 ClickOnce 部署的客户端应用程序组成 客户端在用户第一次单击时安装http 文件 应用程序 http file application链接 并且安装过程中与用户的交互很少 只是标准的 ClickOnce
  • 正确使用 Apache HttpClient 以及何时关闭它。

    我在 servlet 中使用 HttpClient 来调用资源 在进行一些操作后我将其作为 servlet 响应返回 我的 HttpClient 使用 PoolingHttpClientConnectionManager 我像这样创建客户端
  • 图形 - 如何使用方法create(int x, int y, int width, int height)和translate(int x, int y)?

    我试图做我的计算机科学作业 但当我尝试使用以下方法时我陷入困境 public Graphics create int x int y int width int height 基于此 Graphics 对象创建一个新的 Graphics 对
  • 在 Swift 中终止 macOS 命令行工具的子进程

    我正在用 swift 编写一个 macOS 命令行工具 它执行 shell 命令 let process Process process launchPath bin sleep process arguments 100 process
  • Symfony 2 Guard 组件和普通登录表单

    我正在尝试使用新的Guard http symfony com blog new in symfony 2 8 guard authentication component成分 我找到的关于它的唯一信息是官方文档 http symfony