gpt4 book ai didi

apache - SimpleSamlPHP 未解析自定义身份验证模块

转载 作者:行者123 更新时间:2023-12-02 16:42:53 24 4
gpt4 key购买 nike

我想为我的 SimpleSamlPHP 安装创建一个自定义身份验证模块,但每次我尝试测试该模块时都会收到此错误:

SimpleSAML\Error\Error: UNHANDLEDEXCEPTION

Backtrace:
1 www/_include.php:17 (SimpleSAML_exception_handler)
0 [builtin] (N/A)
Caused by: Exception: Could not resolve 'mymodule:MyAuth': no class named 'SimpleSAML\Module\mymodule\Auth\Source\MyAuth' or 'sspmod_mymodule_Auth_Source_MyAuth'.
Backtrace:
7 lib/SimpleSAML/Module.php:437 (SimpleSAML\Module::resolveClass)
6 lib/SimpleSAML/Auth/Source.php:336 (SimpleSAML\Auth\Source::parseAuthSource)
5 lib/SimpleSAML/Auth/Source.php:382 (SimpleSAML\Auth\Source::getById)
4 lib/SimpleSAML/Auth/Simple.php:66 (SimpleSAML\Auth\Simple::getAuthSource)
3 lib/SimpleSAML/Auth/Simple.php:166 (SimpleSAML\Auth\Simple::login)
2 modules/core/www/authenticate.php:38 (require)
1 lib/SimpleSAML/Module.php:254 (SimpleSAML\Module::process)
0 www/module.php:10 (N/A)

我已关注 SimpleSAML 的 tutorial到我需要测试模块的第四步。在我的 config.php 文件中,我启用了这样的模块:

'myauth' => [
'mymodule:MyAuth'
],

如果我将配置文件中的模块名称更改为 SimpleSaml 的预安装模块之一,例如。

'myauth' => [
'sqlauth:MyAuth'
],

然后它工作得很好。事实上,如果我将我的自定义模块文件夹的名称更改为与预安装模块之一相同,并更改我的模块文件中的 namespace 路径以反射(reflect)这一点,我的模块代码就可以正常工作。我相信它与我的模块文件中的命名空间有关,但我无法弄清楚。我在 Ubuntu 18.04 上使用 SimpleSaml 版本 1.18.5 和 php 版本 7.2.24。

最佳答案

我自己遇到了这个问题;我在这个问题上花了几个小时...

解决您的问题;根据您的 SimpleSAMLphp 版本(最新版本),模块根目录中的“default_enable”或“enable”文件将不起作用。您必须通过将以下内容添加到 config.php 文件来手动启用您的模块:

<?php
$config = [
module.enable = [
'core' => null,
'saml' => true,
'customAuth' => true,
],
],

这将使您的 customAuth 模块正常工作。

出于某种原因,psr4 自动加载模块开箱即用(您使用 composer 等安装的模块)。

如果可以,请避免使用 simpleSAMLphp 并寻求更严肃的东西。

关于apache - SimpleSamlPHP 未解析自定义身份验证模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com