簡體   English   中英

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 Web應用程序,我已經在Drupal網站根目錄下的文件夾中運行。

我希望做的是,當用戶登錄到Drupal站點時,僅允許訪問此自定義PHP Web應用程序/folder/mycoolapp.php。

現在,我擁有的是基本的drupal“頁面”,訪問該頁面后

global $user; 

特定訪問“角色”的數組,我也可能使用該值

$user[login] => 1538264018

檢查用戶最近是否登錄,以限制對Web應用程序的訪問。

我考慮過僅依靠引薦來源網址(確保它始終與服務器上的特定頁面/單個頁面(Drupal頁面)匹配以便允許訪問),但是我很確定引薦來源網址可以被欺騙。

問題是如何通過我的自定義Web應用程序(PHP)加載

header('Location: /path/to/mycoolapp.php');

僅顯示有效的登錄用戶?

我嘗試訪問自定義PHP頁面中的$ user對象,但沒有骰子。

我嘗試探索一種引用SID的方法來檢索當前的“會話”,但也無法使其正常工作。

我在這里看到2種解決方案:

  1. 創建自定義drupal頁面並將自定義代碼添加到其中,以生成頁面內容。 這樣,您將必須將應用“嵌入”到drupal中:

    / **

    • 實現hook_menu()。 * /函數modulename_menu(){

      $ items ['your / special / path'] = array('type'=> MENU_NORMAL_ITEM,'title'=> t('Title'),'description'=>'我的自定義和非常特殊的頁面','頁面回調'=>'modulename_special_page','訪問回調'=>'用戶訪問','訪問參數'=> array('訪問內容'),);

      返回$ items; }

    / **

    • 頁面回調。 * /函數modulename_special_page(){$ content ='Hello World'; // ...在此處嵌入您的自定義代碼; 返回$ content; }

    簽出: https : //drupal.stackexchange.com/questions/81539/add-custom-page

  2. 要在腳本開始處包含drupal的引導程序,然后再使用drupal的系統,請檢查用戶是否已登錄或類似。 就像是:

    require_once'./includes/bootstrap.inc'; //假設您的腳本與Drupal的index.php位於同一文件夾中。drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); //您現在可以訪問所有Drupal功能

..如本文所述: https : //www.drupal.org/forum/support/module-development-and-code-questions/2008-05-19/how-to-use-drupal-api-outside-的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM