Php 在Laravel 4中使用Drupal 7用户信息作为身份验证
我有一个Drupal7网站,作为公司的内部网。我还有一个在Drupal之外运行的相关表单系统。我计划在Laravel 4下重新设计这个表单系统(使用条令2作为我的ORM,而不是雄辩)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
当用户登录到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));