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