我可以使用Joomla的身份验证系统来允许/阻止访问独立脚本吗?

时间:2009-12-21 18:51:53

标签: joomla1.5

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

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

2 个答案:

答案 0 :(得分:0)

在以下网站找到了一些工具:

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

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

答案 1 :(得分:0)

这是游戏的后期,但万一其他人需要它: 您可以非常轻松地访问大部分Joomla Envrionment:

  1. 创建一个joomla平台文件,如下所示:
  2. 将该文件包含在您的脚本
  3. <强> 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(); */
    ?>