Symfony sfDoctrineGuardPlugin 自定义登录查询

2024-02-25

我使用 symfony sfDoctrineGuardPlugin 来管理前端用户和后端用户的身份验证。没关系,只是我不希望前端用户能够登录后端应用程序。我可以设置凭据,但在用户通过身份验证后会检查凭据。我想要的是以表单形式登录,永远不会验证不在后端组中的用户。我怎样才能做到这一点?


我想我找到了更好的解决方案。 sfDoctrineGuard 插件有自己的后验证器,用于检查用户检索的可选可调用对象。

//app.yml
all:
  sf_guard_plugin:
    retrieve_by_username_callable: sfGuardUser::getForBackend

//sfGuardUser.class.php

  public static function getForBackend($username)
  {
    $query = Doctrine::getTable('sfGuardUser')->createQuery('u')
      ->leftJoin('u.Groups g')
      ->leftJoin('g.Permissions p')
      ->where('u.username = ? OR u.email_address = ?', array($username, $username))
      ->addWhere('u.is_active = ?', true)
      ->addWhere('p.name = ?', 'backend');

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

Symfony sfDoctrineGuardPlugin 自定义登录查询 的相关文章

随机推荐

  • 如何在 C#.NET 应用程序卸载时删除文件夹?

    我有一个名为 XYZ 的窗口 net 应用程序 在安装后使用我的应用程序时 我创建了一个名为 ABC 的自定义文件夹 文件夹可能位于应用程序路径以外的任何位置 当我卸载应用程序时 所有文件夹都将被删除 但 ABC 文件夹仍保留在那里 如何删
  • 为什么 kafka-python 无法连接到 Bluemix 消息中心服务?

    我正在尝试连接到 Bluemix Message Hub 实例http bluemix net http bluemix net 这个简单的脚本 usr bin env python from kafka import KafkaProdu
  • 从 Codeigniter 中的帮助程序访问数据库配置变量

    是否可以从 Codeigniter 中的助手获取 database php 变量值 方法是这样的 一般情况下是用不到的 this在助手中 所以你必须使用get instance 我给出了 主机名 的示例 您可以使用您需要的配置名称 func
  • Eclipse 新插件项目:不可选

    只是一个简单的问题 但我在这个美妙的万维网上找不到任何答案 我只想创建一个新的插件项目基于日食赫利俄斯 通常此功能应该随此版本一起提供 版本 Helios Service Release 2 Build id 20110301 1815 但
  • pandas DataFrame 上的就地逐行操作

    假设我有这个 gt gt gt x pandas DataFrame 1 0 2 0 3 0 3 4 5 columns A B C gt gt gt print x A B C 0 1 2 3 1 3 4 5 现在我想正常化x按行 即将每
  • 使用react-bootstrap-typeahead对多个数据集进行分组

    我正在尝试使用旧的 jQuery typeahead 和react bootstrap typeahead 来复制搜索字段 它查询使用多个异步数据源 并显示按此类源的返回分组的结果 例如 如图所示 通过输入字母 b 它会查询地址数据库以及用
  • 将 HttpRequestMessage 转换为 OwinRequest 并将 OwinResponse 转换为 HttpResponseMessage

    我有一个 Web API 消息处理程序MyHandler我想作为中间件在 OWIN 管道中运行 所以像这样配置处理程序 public class Startup public void Configuration IAppBuilder a
  • MySQL中如何通过多列主键选择多行?

    我有一个带有多列主键 城市 州 日期 和更多数据列的表 我正在寻找每个城市 州的最新数据 我如何干净 高效地做到这一点 现在 我可以通过执行第一个查询来获取我尝试获取的所有行的列表 然后执行带有大量 WHERE 子句的第二个查询 SELEC
  • 在 EitherT 和 Validation 之间切换以累积误差或遍历

    假设我有以下功能 def getRemoteThingy id Id EitherT Future NonEmptyList Error Thingy Given a List Id 我可以轻松地检索List Thingy 通过使用Trav
  • Hibernate 搜索排序

    Hibernate 搜索根据相关性对结果进行排序 这是正常的 除此之外 如果两个文档具有相同的分数 则它们按主键排序 例如 book1 id 1 bookTitle 通过示例进行休眠搜索 book2 id 2 bookTitle 休眠搜索实
  • 突出显示 Visual Studio Code C++ 扩展中的错误语法

    是否可以使用 Visual Studio Code C 扩展来检查语法错误 例如 以下错误语法将突出显示 std vectorr vec Yes 微软C C https marketplace visualstudio com items
  • 在 Cordova 中使用相机后,iOS 收到内存警告

    当我拍照时 我开始不断收到内存警告 我正在使用 Cordova 3 5 和带有这些设置的相机插件 var config var pictureSource var destinationType sets the format of ret
  • Aiohttp 在浏览器正常打开的某些网站上引发证书错误

    代码示例 import aiohttp import asyncio async def main url async with aiohttp ClientSession as session async with session get
  • 使用 OAuth2 保护 Nodejs / sailsjs API

    我使用 sailsjs 开发了一个 REST API 我想添加 OAuth2 授权来保护此 API 我对 OAuth 很陌生 不知道从哪里开始 我发现了几个可用于此目的的模块 例如 oauth2orize 及其用法示例https githu
  • fastText 中的精确度和召回率?

    我实现了 fastText 进行文本分类 链接https github com facebookresearch fastText blob master tutorials supervised learning md https git
  • AWS AppSync:如何通过 DynamoDB 返回有效的 JSON

    我有一个 AppSync GraphQL API 可以对 DynamoDB 进行查询并返回 JSON 字符串 但是在我的响应映射模板中 我使用内置 util parseJson 功能如所列here https docs aws amazon
  • Jquery Ajax 验证复选框

    可能是一个简单的解决方案 所以我有点尴尬 但 JS 并不是我的强项 所以我想我会问 我正在使用Jquery表单 http jquery malsup com form 用于提交一组复选框以满足我正在制作的活动策划应用程序的要求的插件 如果没
  • 源代码管理中的 .vcxproj

    我一直在阅读很多关于 vcxproj 文件是否应该添加到源代码管理中的问题 共识似乎是他们应该这样做 但是当打开文件时 我注意到其中包含很多用户特定的路径 鉴于这是一个由很多人共同开发的项目 我还应该将其添加到源代码管理中吗 看起来它会与其
  • Json.NET - CustomCreationConverter 中单个属性的默认反序列化行为

    在下面的场景中 我如何得到CrazyItemConverter当遇到我要反序列化的类型中存在的 JSON 属性时 是否照常进行 我有一些如下所示的 JSON Item Name Apple Id null Size 5 Quality 2
  • Symfony sfDoctrineGuardPlugin 自定义登录查询

    我使用 symfony sfDoctrineGuardPlugin 来管理前端用户和后端用户的身份验证 没关系 只是我不希望前端用户能够登录后端应用程序 我可以设置凭据 但在用户通过身份验证后会检查凭据 我想要的是以表单形式登录 永远不会验