Drupal 7.xx - 如何检查用户身份验证并允许访问与 Drupal 一起使用的自定义 Web 应用程序 运行?
Drupal 7.xx - how can I check for user auth and allow access to a custom web application running alongside Drupal?
我有一个自定义 PHP 网络应用程序,我 运行 位于 Drupal 站点根目录之外的文件夹中。
我希望做的是只允许访问此自定义 PHP 网络应用程序 -- /folder/mycoolapp.php -- 当用户登录到 Drupal 站点时.
目前,我拥有的是一个基本的 drupal 'page',访问时会检查
global $user;
特定访问的数组 'role',我也可能使用值
$user[login] => 1538264018
检查用户最近是否登录,作为限制访问网络应用程序的一种方式。
我考虑过仅依靠引荐来源网址(确保它始终与我服务器上的特定/单个页面(Drupal 页面)匹配以允许访问——但我很确定引荐来源网址可以被欺骗。
这里的问题是我可以做些什么来拥有我通过
加载的自定义 Web 应用程序 (PHP)
header('Location: /path/to/mycoolapp.php');
只显示有效登录用户?
我尝试访问自定义 PHP 页面中的 $user 对象,但没有成功。
我尝试探索一种引用 SID 以检索当前 'Session' 的方法,但也无法使它起作用。
我在这里看到 2 个解决方案:
创建自定义 drupal 页面并向其中添加自定义代码,以生成页面内容。这样你就必须 "embed" 你的应用程序进入 drupal:
/**
实现 hook_menu()。
*/
函数 modulename_menu() {
$items['your/special/path'] = 数组(
'type' => MENU_NORMAL_ITEM,
'title' => t('Title'),
'description' => 'My custom and very special page',
'page callback' => 'modulename_special_page',
'access callback' => 'user_access',
'access arguments' => 数组('access content'),
);
return $项;
}
/**
- 页面回调。
*/
函数 modulename_special_page() {
$内容='Hello World';
// ... 在此处嵌入您的自定义代码;
return $内容;
}
查看:https://drupal.stackexchange.com/questions/81539/add-custom-page
在你的脚本开头包含 drupal 的 bootstrap 然后你可以使用 drupal 的系统,检查用户是否登录和类似的。类似于:
require_once './includes/bootstrap.inc'; // 假设您的脚本与 Drupal 的 index.php 在同一个文件夹中
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // 您现在可以访问所有 Drupal 功能
我有一个自定义 PHP 网络应用程序,我 运行 位于 Drupal 站点根目录之外的文件夹中。
我希望做的是只允许访问此自定义 PHP 网络应用程序 -- /folder/mycoolapp.php -- 当用户登录到 Drupal 站点时.
目前,我拥有的是一个基本的 drupal 'page',访问时会检查
global $user;
特定访问的数组 'role',我也可能使用值
$user[login] => 1538264018
检查用户最近是否登录,作为限制访问网络应用程序的一种方式。
我考虑过仅依靠引荐来源网址(确保它始终与我服务器上的特定/单个页面(Drupal 页面)匹配以允许访问——但我很确定引荐来源网址可以被欺骗。
这里的问题是我可以做些什么来拥有我通过
加载的自定义 Web 应用程序 (PHP)header('Location: /path/to/mycoolapp.php');
只显示有效登录用户?
我尝试访问自定义 PHP 页面中的 $user 对象,但没有成功。
我尝试探索一种引用 SID 以检索当前 'Session' 的方法,但也无法使它起作用。
我在这里看到 2 个解决方案:
创建自定义 drupal 页面并向其中添加自定义代码,以生成页面内容。这样你就必须 "embed" 你的应用程序进入 drupal:
/**
实现 hook_menu()。 */ 函数 modulename_menu() {
$items['your/special/path'] = 数组( 'type' => MENU_NORMAL_ITEM, 'title' => t('Title'), 'description' => 'My custom and very special page', 'page callback' => 'modulename_special_page', 'access callback' => 'user_access', 'access arguments' => 数组('access content'), );
return $项; }
/**
- 页面回调。 */ 函数 modulename_special_page() { $内容='Hello World'; // ... 在此处嵌入您的自定义代码; return $内容; }
查看:https://drupal.stackexchange.com/questions/81539/add-custom-page
在你的脚本开头包含 drupal 的 bootstrap 然后你可以使用 drupal 的系统,检查用户是否登录和类似的。类似于:
require_once './includes/bootstrap.inc'; // 假设您的脚本与 Drupal 的 index.php 在同一个文件夹中 drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); // 您现在可以访问所有 Drupal 功能