2014-02-20 29 views
1

的Joomla用戶授權我想一個Joomla網站與內部的單點登錄系統集成。授權系統的SSO用戶身份驗證&是家庭成員,可以處理我們所有的用戶訪問。與外部SSO

我有一個SSO網站,我想將所有的Joomla用戶,一旦被驗證,他們將被重新改道回的Joomla網站,他們將被記錄。

我需要什麼能夠做的是設置一個會話變量,並檢查這個會話ID對我們的認證服務器,看看用戶會話是否仍然有效,實質上增加了Joomla會話/授權檢查。如果會話無效,我會將用戶重定向到SSO登錄頁面。

有一個核心的Joomla事件,我可以附加到將允許被還執行授權?

回答

2

這是一個高度概括,你可以做一些事情。

有,你可以用它來觸發並攔截認證過程的兩個事件。

作爲系統插件,使用onAfterInitialise()可以觸發執行週期非常早的認證請求:當用戶加載頁面

// Get the application object. 
    $app = JFactory::getApplication(); 
    $result = $app->login($credentials, $options); 

基本上,如果它不已經有一個會話/是客人JFactory::getUser()->guest === 1,您可以嘗試根據您喜歡的任何方式驗證用戶身份。

先前觸發的請求可以用認證插件攔截,執行方法onUserAuthenticate()。在這個方法中,你可以通過任何你喜歡的方式向外部系統發出請求(參見現有的認證插件)。

+2

我也會去這個答案。編寫自己的身份驗證插件是升級安全的最簡單方法,並且不依賴於其他具有這種小功能的擴展。 – Laoneo

+0

這就是我開始做的事情,然而,系統插件是我認爲我需要做的所有工作。 –

+0

謝謝@Valentin Despa,這將讓我得到我需要去的地方。 –