我有一个Drupal 7网站,作为一个公司的内部网。我还有一个相关的表单系统,它运行在Drupal之外。我计划在Laravel 4下重新设计这个表单系统(使用Doctrine 2作为我的ORM,而不是雄辩的)。
当用户登录到Drupal 7时,他/她还应该能够弹出到Laravel系统,并能够立即访问外部表单。因此,问题是:如何让Laravel获取Drupal 7用户的证书(会话ID和会话哈希)并将其用作该系统中的身份验证?甚至可以吗?显然,一旦用户注销,Laravel就需要知道这一点,并将用户重新定向回Drupal登录。
发布于 2014-09-16 20:40:36
在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调用新创建的连接,如下所示:
$users = DB::connection('drupal');最后,只需使用Laravel方法运行一个查询,收集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));https://stackoverflow.com/questions/25876170
复制相似问题