使用 Drupal 中的外部身份存储库验证注册数据

2024-04-12

当我的用户尝试注册时,我想通过检查外部身份存储库(例如调用 Web 服务或查找目录服务器)来确保他的信息有效。

任何现有模块都可以实现这一点吗?如果没有,开发此功能的最佳方法是什么?


我不知道现有模块允许添加自定义验证,但使用“验证”操作来实现这一点相当容易hook_user() http://api.drupal.org/api/function/hook_user/6:

function yourModule_user($op, &$edit, &$account, $category = NULL) {
  // Are we in the validation phase of a new user registration?
  if ('validate' == $op && 'user_register' == $edit['form_id'] && 'account' == $category) {
    // Yes, do custom validation...
    // NOTE: Just an example to validate by email.
    // Check the other elements in $edit array (e.g. 'name') for more options
    $mail_is_valid = yourModule_custom_mail_validation($edit['mail']);
    // Is the mail address OK?
    if (!$mail_is_valid) {
      // No, set error on mail form field
      form_set_error('mail', t('your custom error message'));
    }
  }
}

这将停止注册过程并重新显示注册表单,并在邮件字段中显示错误消息,只要yourModule_custom_mail_validation()不返回 TRUE。

如果您希望对编辑其帐户的现有用户进行验证,您可以删除

 && 'user_register' == $edit['form_id']

第一个 if 子句的一部分 - 然后代码将为每个用户编辑表单提交运行,而不仅仅是在注册时运行。

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

使用 Drupal 中的外部身份存储库验证注册数据 的相关文章

  • head 标签中 src/href 属性末尾有奇怪的字符

    快速问题 为什么 drupal 在末尾添加字符src or href中的属性link and script页面头部的标签 我有这个 对于加载的每个样式表和脚本都是相同的 我不明白为什么要这样做 我想这可能就是我的主题在 IE 中一团糟的原因
  • 将 UTF-8 编码的字符串插入 UTF-8 编码的 mysql 表失败​​,并显示“字符串值不正确”

    将 UTF 8 编码字符串插入 UTF 8 编码表会给出不正确的字符串值 PDOException SQLSTATE HY000 一般错误 1366 不正确的字符串值 xF0 x9D x84 x8E i 对于第 1 行的列 body val
  • PHP 数组...空括号的含义是什么?

    我遇到了一些示例代码 如下所示 form submit annotate admin settings submit 为什么 submit 后面有一个空的括号 里面什么都没有 这意味着什么 谁能给我举个例子吗 通常 根据我的理解 这可能是错
  • 从 Drupal 站点内重定向到新页面

    我正在使用 Drupal 站点 我们想要设置一个重定向到外部站点的特殊 URL 换句话说 如果http www mysite com http www mysite com是我们的 Drupal 网站 我们想要http www mysite
  • 解决 PHP 中不安全的随机数生成问题

    我们正在对各种 Drupal 模块运行 Fortify 扫描 常见的严重 高结果是 不安全的随机性 它指出 rand 函数无法承受加密攻击 我的问题是 这是一个严重的问题吗 如何在 PHP 中修复它 谢谢 这个问题的答案完全取决于您使用 r
  • 如何在 Drupal 8 主题中添加 javascript 库?

    我正在尝试包含一个自定义 javascript 文件来操作我正在构建的 Drupal 8 主题中的菜单 我按照 Drupal 8 主题指南中的说明进行操作 将其包含在我的 info yml 文件中 js libraries librarie
  • 如何在drupal中获取某个父级下面的所有菜单项?

    我实际上只需要某个菜单项下面第一级的 mlid 和标题文本 这就是我现在正在做的事情 它有效 但我怀疑可能有一种更 drupal 的方式 Get all the children menu items below Style Guide a
  • Drupal:在网络表单中的提交按钮上方添加免责声明文本

    有没有一种简单的方法来修改 webform form tpl php 模板以在 Drupal Web 表单中的提交按钮上方显示免责声明文本 我可以在按钮下方添加文本 但不知道如何将按钮与其他元素分开以在它们之间添加文本 即 form ele
  • 如何在CSS中引用带有空格的长类名?

    我正在尝试设计一些 Drupal 输出的样式 特别是 我试图引用一个具有超长名称 包括空格 的类 我不清楚这个的语法 请原谅我 我是 CSS 新手 看
  • 为什么我的 Drupal 8 CORS 设置不起作用?

    从 Drupal 8 2 开始 cors 设置位于核心位置 在我的services yml and default services yml 我有以下设置 cors config enabled true Specify allowed h
  • Drupal 的搜索模块可以搜索子字符串吗? (部分搜索)

    Drupal核心搜索模块 仅搜索关键字 例如 三明治 我可以使用子字符串进行搜索吗 例如 三明治 并返回我的三明治结果 也许有一个插件可以做到这一点 最直接的模块可能是模糊搜索 http drupal org project fuzzyse
  • 如何在不使用 API 的情况下向 Drupal 6.x 注册用户?

    我们必须有一个通过用 java 编写的 Web 服务可用的 注册 方法 因此从今往后我们无法访问 Drupal API 但我们需要能够成功注册用户 简单地将用户添加到用户表中是行不通的 因为新创建的用户永远无法成功登录 我再次喜欢 Drup
  • Drupal 节点揭秘

    我是 Drupal 的新手 希望了解这个平台的工作原理 具体来说 我对 Node 对象感到困惑 这是什么东西 Content Type是怎么进来的 看起来整个 Drupal 就是节点 节点 节点 很想听听您的见解 当您第一次接触 Drupa
  • Drupal 6:打印纯正的主链接和所有子链接

    世界上怎么可能 我发誓 我读了相当于三本百科全书的书 却毫无用处 我已经尝试过区域 page tpl php 和块内的解决方案 他们都没有给我我需要的东西 而且我知道还有很多其他人也需要这个 我得出的结论是 我想打印出 page tpl p
  • Drupal 6模块安装文件未在数据库中创建表

    我正在使用 Schema API 在 Drupa 6 17 上为我的模块创建表 但这些表并未在数据库中创建 我安装了架构模块 它告诉我 虽然我的模块的架构被识别 但它的表不在数据库中 它出现在 缺失 下 Tables in the sche
  • 使用 drupal_get_form() 传递参数

    这是我使用钩子的自定义模块 假设如果我想将参数传递给 custom1 default form 函数调用 我应该如何传递参数
  • Drupal 6 和 7 从标头中取消设置 Javascript

    编辑 我的问题适用于 Drupal 6 和 7 尽管我的代码示例是 Drupal 6 人们提供的答案对于 Drupal 的两个版本都很有用 我目前正在 Drupal 中为 Drupal 6 网站创建移动主题 并尝试通过以下方式删除所有不必要
  • 使用主题函数在 body 标记后插入代码

    我试图在开头添加一段代码everyDrupal 站点中的页面 因为我有不止一个page模板 我想以编程方式执行此操作 但没有成功 我还是个新手 虽然我了解了钩子 主题函数等的要点 但我只是想不出实现这一目标的正确方法 到目前为止我已经覆盖了
  • Drupal Views 如何过滤与日期范围重叠的项目

    在 Drupal 中 我使用 CCK 将日期时间字段添加到我的自定义数据类型中 它插入开始日期和结束日期字段 这就是我想要的 现在 我希望视图过滤并仅显示日期范围 开始日期和结束日期 与今天日期重叠的项目 关于如何在视图上设置它有什么想法吗
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J

随机推荐