我们开发了一些独立的PHP脚本,并希望限制对它们的访问。我们使用Joomla 1.5作为我们的主要前端,我想知道我们是否可以使用Joomla的身份验证来确定用户是否在Joomla框架之外的应用程序中登录。如果我们可以避免将joomla框架集成到我们的代码中,那么它将是首选。
不是Joomla认证系统的专家,有没有人知道用户是否登录?我假设我们会查看会话ID,然后使用它来进行数据库查询以查看用户是谁以及他们是否已登录?
答案 0 :(得分:0)
在以下网站找到了一些工具:
http://extensions.joomla.org/extensions/access-a-security/authentication-external
哪个应该能够回答你的问题。从LDAP到NDIS,有多种方法可以实现这一目标。
答案 1 :(得分:0)
这是游戏的后期,但万一其他人需要它: 您可以非常轻松地访问大部分Joomla Envrionment:
<强> yourscript.php 强>
require_once('joomla_platform.php');
$user =& JFactory::getUser();
if($user->gid <25) {
die ("YOU CANT BE HERE");
}
<强> joomla_platform.php 强>
<?php
/* Force Debugging here, otherwise the loaded configuration will define it. */
define( 'JDEBUG', 1 );
/* If not already done, initialize Joomla framework */
if (!defined('_JEXEC')) {
define( '_JEXEC', 1 );
// define('JPATH_BASE', dirname(__FILE__) );
define ('JPATH_BASE', "c:\\wamp\\www\\hosted\\newday");
define( 'DS', DIRECTORY_SEPARATOR );
/* Required Files */
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
/* To use Joomla's Database Class */
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
require_once ( JPATH_LIBRARIES.DS.'joomla'.DS.'import.php'); // Joomla library imports.
/* Create the Application */
global $mainframe;
$mainframe =& JFactory::getApplication('site');
global $mainframe;
}
/* $config = new JConfig(); */
/* $db = &JFactory::getDBO(); */
?>