Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel 4中使用Drupal 7用户信息作为身份验证_Php_Laravel 4_Doctrine Orm_Drupal 7_Authentication - Fatal编程技术网

Php 在Laravel 4中使用Drupal 7用户信息作为身份验证

Php 在Laravel 4中使用Drupal 7用户信息作为身份验证,php,laravel-4,doctrine-orm,drupal-7,authentication,Php,Laravel 4,Doctrine Orm,Drupal 7,Authentication,我有一个Drupal7网站,作为公司的内部网。我还有一个在Drupal之外运行的相关表单系统。我计划在Laravel 4下重新设计这个表单系统(使用条令2作为我的ORM,而不是雄辩) 当用户登录到Drupal 7时,他/她还应该能够跳转到Laravel系统并立即访问外部表单。因此,问题是:我如何让Laravel获取Drupal 7用户的凭证(会话ID和会话哈希)并将其用作该系统中的身份验证?这可能吗?显然,一旦用户注销Laravel,就需要知道这一点,并将用户重定向回Drupal登录。在Lara

我有一个Drupal7网站,作为公司的内部网。我还有一个在Drupal之外运行的相关表单系统。我计划在Laravel 4下重新设计这个表单系统(使用条令2作为我的ORM,而不是雄辩)


当用户登录到Drupal 7时,他/她还应该能够跳转到Laravel系统并立即访问外部表单。因此,问题是:我如何让Laravel获取Drupal 7用户的凭证(会话ID和会话哈希)并将其用作该系统中的身份验证?这可能吗?显然,一旦用户注销Laravel,就需要知道这一点,并将用户重定向回Drupal登录。

在Laravel的app/config/database.php文件中建立与Drupal 7数据库的连接:

'drupal' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'dpl',
    'username'  => 'user',
    'password'  => 'pass$5',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
然后从函数内部(在本例中,我创建了一个名为DrupalAuthorization的类),使用Laravel的DB facade调用新创建的连接,如下所示:

$users = DB::connection('drupal');
最后,只需使用Laravel select方法运行一个收集Drupal用户会话信息的查询:

$users = DB::connection('drupal')->select("SELECT uid, sid FROM d7_sessions WHERE hostname = ? AND uid > ? ORDER BY uid DESC", array($_SERVER["REMOTE_ADDR"], 0));