如何检查用户是否已登录Moodle?

4

目前我正在使用 Moodle 创建一个网站。 我想创建一个功能,如果用户未登录,他们将被重定向到登录页面。 在 Moodle 中如何实现这个功能呢?


serverfault?目前我创建了一个类别..当用户未登录时,它会显示没有课程..我想要它重定向到登录页面.. - Beginner Pogrammer
5个回答

12

假设 - 在 Moodle 网站上托管的 PhP 中编写自定义页面。

然后,页面将具有访问会话信息的权限,任务非常简单。

首先调用 Moodle 引导程序,然后调用 Moodle 函数以检查有效登录。

require_once('../../config.php');  // specify path to moodle /config.php file

// require valid moodle login.  Will redirect to login page if not logged in.
require_login();

// if you also include the id number of a course then require permisision to view a particular course 
require_login(78);  // requires login and permission to view course id 78.

8

以下代码片段可能有所帮助

require_once('/home/public-html/moodle/config.php'); 
if (!isloggedin()) {
    //redirect to moodle login page
} else {
    //do whatever you want here
}

2

是的,可以通过“设置”>“站点管理”>“安全”>“站点策略”轻松访问

勾选“强制用户登录”

完成 :)


1
使用require_login();函数,您可以决定是否检查用户登录。

1

我知道这可能有点陈旧,但对于新手来说可能会有所帮助!有一个名为isloggedin()的函数(定义在lib/accesslib.php中),可以让你确定用户是否已经登录。


这和 @iankit 的回答中提到的 isloggedin() 不同吗?如果不是,也许在那个答案下发表评论比单独回答更好? - TamaMcGlinn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接