小编Ixo*_*ter的帖子

SimpleSamlPHP 无法解析自定义身份验证模块

我想为我的 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)
Run Code Online (Sandbox Code Playgroud)

我已按照 SimpleSAML 的教程进行到第四步,我需要测试该模块。在我的 config.php 文件中,我启用该模块,如下所示:

'myauth' => [
    'mymodule:MyAuth'
],
Run Code Online (Sandbox Code Playgroud)

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

'myauth' => [
    'sqlauth:MyAuth'
],
Run Code Online (Sandbox Code Playgroud)

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

apache simplesamlphp

3
推荐指数
1
解决办法
2627
查看次数

标签 统计

apache ×1

simplesamlphp ×1