首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel 4中使用Drupal 7用户信息作为身份验证

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

Stack Overflow用户
提问于 2014-09-16 18:40:55
回答 1查看 392关注 0票数 0

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

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

EN

回答 1

Stack Overflow用户

发布于 2014-09-16 20:40:36

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

代码语言:javascript
复制
'drupal' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'dpl',
    'username'  => 'user',
    'password'  => 'pass$5',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

然后,从函数内部(在本例中,我创建了一个名为DrupalAuthorization的类),使用Laravel调用新创建的连接,如下所示:

代码语言:javascript
复制
$users = DB::connection('drupal');

最后,只需使用Laravel方法运行一个查询,收集Drupal用户的会话信息:

代码语言:javascript
复制
$users = DB::connection('drupal')->select("SELECT uid, sid FROM d7_sessions WHERE hostname = ? AND uid > ? ORDER BY uid DESC", array($_SERVER["REMOTE_ADDR"], 0));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25876170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档