通过外部站点登录 Moodle

2024-02-23

我正在设置一个 Moodle 环境,我需要用户能够使用其凭据通过外部站点登录that地点。理想情况下,他们会访问该网站,登录,然后单击一个按钮,将他们及其帐户信息发送到 Moodle。

一旦他们到达 Moodle,Moodle 将检查帐户信息是否已存在。如果是,它将登录,否则它将创建帐户并登录。

我已经设置了 Moodle 环境以及登录站点。 Moodle 站点不允许访问登录站点上的数据库,并且用户不必在任何时候再次输入其信息。

我已经花了几个小时尝试从一个插件向后工作,该插件在 Moodle 和社交网站(facebook、twitter、google+ 等)之间完成类似的事情,但没有取得任何进展,以及从一个将 Moodle 与 Joomla 链接的插件,我已经在这里和其他论坛中搜索了任何我能找到的与我需要完成的任务类似的内容,但都无济于事。任何帮助将不胜感激。

编辑:我忘了提及 Moodle 版本是 2.5.4

编辑:以下将创建一个新用户,并将数据发布到“login/index.php”页面。目前这还非常不完整,并且在生产服务器上实施可能很危险。更新版本将在我继续工作时发布,非常欢迎提出建议。

    global $CFG, $DB;
    require_once($CFG->dirroot.'/user/profile/lib.php');
    require_once($CFG->libdir.'/authlib.php');

    $newuser = $DB->get_record('user', array('id'=>'1'));
    $newuser->auth = 'manual';
    $newuser->username = $frm->username;
    $newuser->password = hash_internal_user_password($frm->password);

    $newuser->username = $DB->insert_record('user', $newuser);

    /// Save any custom profile field information
    profile_save_data($newuser);

    $newuser = $DB->get_record('user', array('id'=>$newuser->username));
    events_trigger('user_created', $newuser);

使用外部数据库身份验证可能是最容易设置的,特别是如果两个系统位于同一服务器上。

转到站点管理 > 插件 > 身份验证 > 管理插件 -> 单击外部数据库旁边的取消隐藏按钮

然后单击设置并添加数据库的连接详细信息、外部表的名称(如果数据来自多个表,则创建一个视图)并添加字段映射。

http://docs.moodle.org/26/en/External_database_authentication http://docs.moodle.org/26/en/External_database_authentication

或者,我会使用带有 LDAP 的 SimpleSAML 插件 - 假设您有一个 LDAP 服务器 - 需要大约一天的时间来设置和搞乱设置。

https://moodle.org/plugins/view.php?plugin=auth_saml https://moodle.org/plugins/view.php?plugin=auth_saml

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

通过外部站点登录 Moodle 的相关文章

  • java ee - 使用 servlet 对用户进行身份验证

    我刚刚开始学习java 还没有接触过java ee 我需要使用 servlet 来验证用户身份 请提供示例代码和技术文献 谢谢你 创建一个接受用户名 密码的 html 表单 将这些数据发布到 servlet 在 doPost 中读取这些数据
  • 通过移动应用程序使用 Moodle 进行身份验证

    我的移动应用程序需要登录 Moodle 以从 Web 服务获取 Json 数据并使用 Angular 显示它 为此 我需要传入用户名和密码并取回 Moodle Web 服务令牌 因此我的应用程序不需要再次登录 至少在令牌过期之前 这是 提出
  • 如何在 firebase.auth 中更新用户电话号码(js,ts)

    我如何更新在 firebase auth 中用于身份验证的用户电话号码 Firebase 给出方法 updatePhoneNumber phoneCredential 但我们需要给予电话凭证 此凭证采用对象 interface AuthCr
  • 由 aws API 制作的 HttpRequest 拦截器

    我正在开发一个项目 该项目使用 cognito 作为身份验证服务来保护使用 nodeJS 制作的无服务器休息 API 我已成功关闭未经身份验证的客户端的 API 现在 每当我从 Angular 客户端发出请求时 我都需要在标头中自动注入一个
  • Python:创建登录系统[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 python 创建一个登录
  • HTTP 基本身份验证 + 访问令牌?

    我正在开发一个 REST API 计划将其与 Web 和 IOS 应用程序一起使用 我打算让这个 API 在一段时间内保持私有 私有意味着我只希望我的 Web 应用程序和 ios 应用程序访问该 API 我已经阅读了许多不同的身份验证方法
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 打字总是抱怨全局模块

    我对打字稿很陌生 无论我尝试安装什么类型 我都会得到 打字错误 消息 尝试将 Angular 编译为外部模块 但它看起来像全局模块 我只是想做 typings install dt angular 我究竟做错了什么 Update 如果您对此
  • ldapsearch:凭据无效

    I am trying to authenticate against our institutional LDAP server with the command ldapsearch My user info in LDAP is sh
  • web.config 授权是否适用于 aspx 以外的文件?

    我有带有表单身份验证的 ASP NET 应用程序 它运行良好 但我有一个包含 olly txt 文件 无 aspx 文件 的目录 我希望用户不要访问该目录 或仅登录用户 我将 web config 添加到该目录
  • ASP.NET Core 1.0 Web API 中的简单 JWT 身份验证

    我正在寻找最简单的方法来设置使用 JWT 在 ASP NET Core 又名 ASP NET 5 中进行身份验证的 Web API 服务器 这个项目 博客文章 http www codeproject com Articles 369657
  • 将自定义参数传递给登录页面 Identity Server 4 中使用的 returnUrl

    我正在使用 IdentityServer4 为使用混合流的客户端实现身份验证服务器 我成功地实现了自己的用户存储以及自己的客户 赠款和资源存储库 当用户想要登录时 客户端会将其重定向到我的身份验证服务器 如果未登录 则会显示登录页面 此时
  • 使用 JWT Laravel 5 进行身份验证,无需密码

    我正在尝试学习 Laravel 我的目标是能够构建一个 RESTful API 不使用视图或刀片 仅使用 JSON 结果 稍后 AngularJS Web 应用程序和 Cordova 混合移动应用程序将使用此 api 经过一番研究 我倾向于
  • 向 ASP.NET WebApi 2.2 添加身份验证

    我创建了一个 WebApi 2 2 项目 来自一个空的新 ASP NET 项目 来证明一些实现概念 现在我想向其中添加身份验证 我注意到在新的 WebApi 应用程序上添加身份验证的唯一方法是使用模板之一 在我的例子中是 VS 2013 是
  • 如何在 JASPIC 中保存经过身份验证的用户?

    我开发了一个安全认证模块 SAM 并实现了validateRequest方法 我还有一个简单的 Web 应用程序配置为使用此 SAM In my validateRequest方法 我检查 clientSubject 并设置一个Caller
  • OkHttp Authenticator 有时不会调用多个 Retrofit 实例的验证

    我有两个不同的Retrofit两个不同 API 的实例 我也有两个不同的OkHttp3客户 但他们共享相同的Authenticator因为两个 API 的身份验证令牌是相同的 问题是当令牌过期时有时 但几乎总是 其中之一Retrofit O
  • 在 ASP.NET MVC 中使用 MySQL 的 AccountController

    在 Visual Studio 中创建默认的 ASP NET MVC 项目会设置一个可以在其中注册用户的基本项目 我将如何继续更改它以使用 MySQL 服务器而不是 SQLServer 现在可以使用了 安装最新的 Connector NET
  • 具有 HTTP 基本身份验证的 PhoneGap FileTransfer

    我正在尝试使用以下命令将文件从 PhoneGap 上传到服务器文件传输方法 http docs phonegap com en 1 6 1 cordova file file md html FileTransfer 我需要为此上传启用 H
  • 从 swagger UI 将 Jwt 令牌作为不记名令牌传递到标头中不起作用

    我正在生成 jwt 令牌 Web api 核心应用程序 在应用程序中 我使用 swagger 并应用了不记名令牌身份验证 但是当我尝试从 swagger UI 传递不记名令牌时 我收到 401 错误 请有人帮助我解决这个问题 service
  • Heroku 上的 Google Vision API 身份验证

    在 Heroku 上验证 Vision API 的最佳 简单方法是什么 在开发中我只使用 vision Google Cloud Vision new project instacult keyfile path to keyfile js

随机推荐

  • 如何在 docker 容器内使用 nginx 提供静态文件?

    因为我运行的是 Mac OSX 所以我使用 boot2docker 我不知道如何使用在 docker 容器内运行的 nginx 也包含静态资产 如我的 html 和 js 提供静态文件 我有四个 docker 容器正在与此一起旋转docke
  • 存储库模式实现

    似乎我找到的存储库模式的每个示例 其实现都在某种程度上有所不同 下面是我主要找到的两个例子 interface IProductRepository IQueryable
  • 由于 Xcode 11 中不再包含应用程序加载器,如何上传 IPA

    我有点害怕问这个问题 因为这个问题对我来说似乎很大 但我没有看到有人对此感到恐慌 我有点害怕听起来很疯狂 但我会坚持下去 正如我们可以在苹果的帖子中看到的提交更新 https developer apple com app store co
  • 如何在 Angular 2 中使用 Less?

    我想知道如何在我的 Angular 2 项目中添加更少的编译 因为每个组件都有自己的 css 文件 现在将是 less文件 我不确定如何使文件编译为 css 我也用谷歌搜索了这个问题 但没有找到任何解决我的问题的方法 EDIT为了让我的问题
  • 比较字符串 Javascript 返回可能的百分比

    我正在寻找一个 JavaScript 函数 它可以比较两个字符串并返回它们相似的可能性 我看过 soundex 但对于多单词字符串或非名称来说并不是很好 我正在寻找一个类似的函数 function compare strA strB com
  • Foursquare Venue Api:生成“8/10 人喜欢这个地方”的信息

    当查看 FourSquare 页面时 例如 巴黎旺多姆广场 https foursquare com v place vend C3 B4me 4adcda09f964a5200e3421e3 显示文本 9 4 10 人们喜欢这个地方 我想
  • 由于可能的配置错误,请求超出了 10 个内部重定向的限制。?

    我有一个简单的重写 RewriteRule addnew 0 不过我得到了 Request exceeded the limit of 10 internal redirects due to probable configuration
  • c# System.guid 不包含 Parse 的定义

    AT Anchor System Guid Parse DataBinder Eval e Item DataItem Anchor ToString 这会抛出 System Guid does not contain a definiti
  • “clr-namespace”URI 引用未包含在程序集中的命名空间

    我试图在我的 XAML 中包含一些转换值的类 但是 当我编译时 我收到以下错误 未定义的 CLR 命名空间 clr namespace URI 引用未包含在程序集中的命名空间 View Summary Converters View Vie
  • 角度 4 中的动画路线

    我正在尝试以角度 4 为路线过渡设置动画 动画在页面首次加载和页面刷新时起作用 所以我知道动画有效 但在我切换路线时则不然 我缺少什么 这是代码 组件元数据 animations fadeInAnimation 模板 div class r
  • iPhone 开发:初学者资源

    正如标题所说 您有任何可用资源来开始为 iPhone 进行开发吗 书籍 在线资源 工具 开发环境 先决条件以及与iPhone编程相关的一切都会很好 Thanks 假设您是初学者 对于书籍而言 此列表是一个很好的起点 http cocoade
  • 如何选择一定长度的数据项?

    如何选择列中的行以使行大小 例如 身份证号 名字 仅选择名字超过 10 个字符的人 他们的名字太长 如果您必须使用特定的 RDBMS 那么解决方案很简单 Use the LENGTH function 根据您的数据库 长度函数可以是 LEN
  • 在非 boost 线程中使用 boost::thread_specific_ptr

    我正在阅读文档部分boost thread specific ptr http www boost org doc libs 1 55 0 doc html thread thread local storage html 并尝试解析这一段
  • 无法在 Windows 上打印彩色文本

    我是 Python 新手 试图在控制台中打印彩色文本 我的操作系统是windows 10 代码如下 class bcolors Colors for console HEADER 033 95m YGREEN 033 92m WARNING
  • 为什么新的 Pick 类型允许 React 的 setState() 中 K 的子集?

    我以为我明白了新的目的TS 2 1 Pick type https www typescriptlang org docs handbook release notes typescript 2 1 html partial readonl
  • 可变参数列表

    假设我有 2 个函数 void f1 int p1 int v1 AND void f2 int v1 在 f1 内部 我想将所有参数从可变参数列表传递到 f2 void f1 int p1 int v1 f2 pass all varia
  • 升级到 Spring Security 6 后角色层次结构不起作用

    我正在从 spring boot 2 7 x 升级到 3 0 0 按照官方文档中的建议进行更改后 我发现我的角色层次结构没有得到尊重 I added expressionHandler 到我的代码中建议的Spring Security 6
  • 如何在 R Markdown 中从第二页开始页码?

    我想知道是否有一种方法可以从第二页开始页码和 或从第二页开始打印页码R Markdown创建 pdf 输出时 当向文档添加标题页时 这会很有用 Thanks 收到有用的评论后 我通过添加解决了问题 pagenumbering gobble
  • 在 CakePHP 中使用媒体视图下载文件

    我想通过 4 个不同的链接下载 4 个不同的文件 我正在使用媒体视图下载文件 但我必须在控制器的下载功能中对文件名进行硬编码 function download this gt view Media params array id gt e
  • 通过外部站点登录 Moodle

    我正在设置一个 Moodle 环境 我需要用户能够使用其凭据通过外部站点登录that地点 理想情况下 他们会访问该网站 登录 然后单击一个按钮 将他们及其帐户信息发送到 Moodle 一旦他们到达 Moodle Moodle 将检查帐户信息