首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用simplesamlphp_auth模块指向simplesamlphp的特定安装?

如何使用simplesamlphp_auth模块指向simplesamlphp的特定安装?
EN

Drupal用户
提问于 2018-11-13 21:37:48
回答 1查看 552关注 0票数 2

我试图将我们公司的SSO集成到我们的Drupal安装中。作为一个POC,看看它是否工作,我有一个SimpleSAMLPhp库的副本位于/foo/bar/simplesamlphp。我配置了我的apache和SAML信任,现在这一切都很好。

根据Acquia在此页上的说明,我尝试安装drupal/simplesamlphp_auth模块。

代码语言:javascript
复制
composer require drupal/simplesamlphp_auth

它安装了模块,并作为依赖项,在vendor/simplesamlphp中安装了第二个D5库副本。现在看来,模块simplesamlphp_auth正在使用vendor中的安装。

How我是否将这个模块配置为使用我已经在/foo/bar/simplesamlphp中放置的?页面/admin/config/people/simplesamlphp_auth上似乎没有任何选项。

我有配置文件,如果可能的话,我希望在每次部署之后避免复制到vendor目录,因为这样做并不像将信任信息完全保留在项目之外那样安全。

EDIT 1

对配置文件的澄清:我需要在/foo/bar/simplesamlphp/config中定义配置文件,这样它才能正常工作。这些配置文件从vendor/simplesamlphp/config中丢失,如果没有它们,应用程序将遇到致命错误。正如上面的Acquia文档所述,库位于vendor/docroot/之外。

EN

回答 1

Drupal用户

发布于 2019-02-06 08:08:05

您可以创建一个指向临时SAML文件夹的符号链接。

代码语言:javascript
复制
ln -s /foo/bar/simplesamlphp ./simplesaml

在settings.php中添加下一行:

代码语言:javascript
复制
$settings['simplesamlphp_dir'] = '/foo/bar/simplesamlphp';

在/simplesamlphp/config库中的config.php文件中添加以下设置:

代码语言:javascript
复制
// Load necessary environmental data
$ps = json_decode($_SERVER['PRESSFLOW_SETTINGS'], TRUE);
$host = $_SERVER['HTTP_HOST'];
$db = $ps['databases']['default']['default'];

// Define basic variables
$config = array (
   'baseurlpath' => 'https://'. $host .':443/simplesaml/', // SAML should always connect via 443
   'certdir' => 'cert/',
   'loggingdir' => '/files/private/log/',
   'datadir' => 'data/',
   'tempdir' => '/tmp/simplesaml',
   'store.type' => 'sql',
   'store.sql.dsn' => 'mysql:host='. $db['host'] .';port='. $db['port'] .';dbname='. $db['database'],
   'store.sql.username' => $db['username'],
   'store.sql.password' => $db['password'],
);

现在,如果在浏览器中打开-site.com/simplesaml url,将使用/foo/bar/simplesamlphp库而不是供应商文件夹。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/272423

复制
相关文章

相似问题

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