我实际上使用simpleSamlPhp在我的网站上创建了一个身份验证,所以我在我的网站上安装了一个服务提供商,我也安装了一个身份提供商,直到他们没问题。我的服务提供商连接到我的身份提供商,连接工作正常。
我的文件“config / authsources.php”是我的不同用户:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => 'att2'
)
),
...
),
...
我的问题是,我希望在一个属性中有几个attribut,因为它有类似的东西:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => array(
'Attribut21' => 'att21',
'Attribut22' => 'att22',
...
)
)
),
...
),
...
但是当我这样做时,我有这个错误:
SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
1 C:\wamp\www\Idp\simplesamlphp\www\_include.php:37 (SimpleSAML_exception_handler)
0 [builtin] (N/A)
Caused by: Exception: Invalid attributes for user userTest in authentication source example-userpass: Invalid attribute value for attribute Attribut2: array (
'Attribut21' => 'att21',
'Attribut22' => 'att22'
)
那么我如何在其他属性中添加一个attribut?
答案 0 :(得分:0)
更改
'Attribut21' = 'att21',
'Attribut22' = 'att22',
到
'Attribut21' => 'att21',
'Attribut22' => 'att22',
因为它们应该是associative array。
编辑:好的,不知道这里的问题是什么......我要发布一个例子,希望你能理解这个模式。 (每个数组实际上都是更多的属性)
<?php
$config = array(
'example-userpass' => array(
'exampleauth:UserPass',
'student:studentpass' => array(
'uid' => array('student'),
'eduPersonAffiliation' => array('member', 'student'),
),
'employee:employeepass' => array(
'uid' => array('employee'),
'eduPersonAffiliation' => array('member', 'employee'),
),
),
);
答案 1 :(得分:0)
最后我不得不这么做:
$config = array(
...
'example-userpass' => array(
'userTest:pwd' => array(
'uid' => array('userTest'),
'NameIdentifier' => 'Test',
'Attribut1' => 'att1',
'Attribut2' => array(
'att21',
'att22',
...
)
)
),
...
),
...