我想重寫我自己的Joomla組件中的登錄方法來獲取登錄名和密碼。Joomla組件:重寫登錄操作?
我使用WordPress的,他只需像ADD_ACTION(「my_action」,「創建my_function」)的動作......
我怎樣才能在的Joomla登錄方法?我不知道或發現...
感謝您的幫助。
我想重寫我自己的Joomla組件中的登錄方法來獲取登錄名和密碼。Joomla組件:重寫登錄操作?
我使用WordPress的,他只需像ADD_ACTION(「my_action」,「創建my_function」)的動作......
我怎樣才能在的Joomla登錄方法?我不知道或發現...
感謝您的幫助。
您可以使用此密碼:
$app = JFactory::getApplication('site');
$credentials = array(
'username' => 'someusername',
'password' => 'somepassword'
);
if(!$app->login($credentials)){
echo 'Logged in';
}else{
echo 'Not logged in';
}
$app->logout(); // Log out with this
$app->close(); // Close the app
要添加自定義代碼登錄過程,你可以寫一個簡單的用戶身份驗證插件。 (請參閱Creating an Authentication Plugin for Joomla),並將您的代碼放在onAuthenticate()
函數中。
要在身份驗證後添加自定義代碼,請編寫用戶插件(請參閱Plugin/Events/User)並使用其中的一個事件。
謝謝,插件活動用戶對我很好 – jlafforgue 2014-10-10 21:01:06
如果你接受我對我們的兩個聲譽的答案會很好:) – GDP 2014-10-11 00:17:07
達到此目的的最佳方法是編寫一個插件。無論您是編寫認證還是用戶插件,都取決於您的需求。兩者都可以讓你訪問你正在請求的數據。由於認證插件適用於使用備用源來認證用戶,我建議使用用戶插件。
<?php
defined('_JEXEC') or die;
class plgUserCustom extends JPlugin
{
/**
* This method should handle any login logic and report back to the subject
*
* @param array $user Holds the user data
* @param array $options Array holding options (remember, autoregister, group)
*
* @return boolean True on success
*
* @since 1.5
*/
public function onUserLogin($user, $options)
{
// Here you can access the un-encrypted POST data using the
// $user parameter
return true;
}
}
還有很多可以做的事情,比如在用戶保存事件之前和之後修改默認窗體和添加/操作數據。我附加了一些關於插件的鏈接以供進一步閱讀。
祝你好運!
http://docs.joomla.org/Plugin/Events/User http://docs.joomla.org/Plugin
謝謝,這是好的解決方案! – jlafforgue 2014-10-10 20:03:04
歡迎您:) – 2014-10-10 20:04:21
你能澄清你想關於用戶登錄流程專門重寫什麼。您是在嘗試創建驗證邏輯還是試圖掛鉤用戶登錄邏輯來捕獲/操作數據? – 2014-10-07 20:15:00
我嘗試掛鉤用戶登錄來操作數據。 如果認證是成功的,我想獲得用戶名和密碼(未加密) – jlafforgue 2014-10-08 19:10:09