0

我们开发了一些独立的 php 脚本并希望限制对它们的访问。我们使用 Joomla 1.5 作为我们的主要前端,我想知道我们是否可以使用来自 Joomla 的身份验证来确定用户是否从 Joomla 框架之外的应用程序内登录。如果我们可以避免将 joomla 框架集成到我们的代码中,那将是首选。

不是 Joomla 身份验证系统的专家,有没有人知道用户是否登录?我假设我们会查看会话 ID,然后使用它进行数据库查询以查看用户是谁以及他们是否已登录?

4

2 回答 2

0

这是游戏后期,但以防其他人需要它。:您可以很容易地访问大部分 Joomla Envrionment:

  1. 创建一个 joomla 平台文件以包含如下所示:
  2. 脚本中包含该文件

你的脚本.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(); */
?>
于 2012-06-25T19:42:02.243 回答
0

在以下位置可以找到一些工具:

http://extensions.joomla.org/extensions/access-a-security/authentication-external

哪个应该能够回答你的问题。从 LDAP 到 NDIS,有多种方法可以实现这一目标。

于 2010-02-12T23:25:14.203 回答