Joomla:如何检查管理员是否已登录

时间:2015-10-15 07:37:44

标签: php .htaccess joomla3.0

我添加了一个不使用任何Joomla组件的自定义PHP页面。 我在.htaccess中进行了更改,现在可以访问该页面了。

链接就像http://www.example.com/administrator/mypage.php

但是每个人都可以访问该页面而无需登录管理面板。 我怎样才能让它只能由管理员查看?

我的Joomla版本是3。

非常感谢。

1 个答案:

答案 0 :(得分:1)

首先,您的php页面必须包含joomla框架,否则您将无法使用任何joomla函数。

我通常在php文件的开头使用这段代码(php文件在根目录下):

 define( '_JEXEC', 1 );

 define('JPATH_BASE', './' ); //config this as you need

 define( 'DS', DIRECTORY_SEPARATOR );
 require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
 require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

 JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;
 $mainframe =& JFactory::getApplication('site');
 $mainframe->initialise();
 JPluginHelper::importPlugin('system');
 JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
 $mainframe->triggerEvent('onAfterInitialise');

// Get user
$user = JFactory::getUser();
if ($user->authorise('core.admin')) {
//your code here

}

请记住,这不是一个正确的解决方案,您应该为joomla创建一个组件来扩展它。自定义php页面可能会产生安全问题。

希望它有所帮助, 马可