0

我实际上使用simpleSamlPhp在我的网站上创建身份验证,因此我在我的网站上安装了服务提供商,并且我还安装了身份提供商,直到他们没有问题。我的服务提供商连接到我的身份提供商并且连接工作正常。

我在文件“config/authsources.php”中有我的不同用户:

$config = array(
    ...
    'example-userpass' => array(
        'userTest:pwd' => array(
            'uid' => array('userTest'),
            'NameIdentifier' => 'Test',
            'Attribut1' => 'att1',
            'Attribut2' => 'att2'
        )
    ),
    ...
),
...

我的问题是我想在一个属性中有一个属性,其中有几个属性,因为有这样的东西:

$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'
)

那么如何添加具有其他属性的属性?

4

2 回答 2

0

改变

'Attribut21' =  'att21',
'Attribut22' = 'att22',

'Attribut21' =>  'att21',
'Attribut22' => 'att22',

因为它们应该是一个关联数组

编辑:好的,不知道这里有什么问题......我要发布一个例子,希望你能理解这种模式。(每个数组实际上是更多的属性)

<?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'),
        ),
    ),
);
于 2015-06-08T10:51:26.120 回答
0

最后我只需要这样做并不难:

$config = array(
    ...
    'example-userpass' => array(
        'userTest:pwd' => array(
            'uid' => array('userTest'),
            'NameIdentifier' => 'Test',
            'Attribut1' => 'att1',
            'Attribut2' => array(
                'att21',
                'att22',
                 ...    
            )
        )
    ),
    ...
),
...
于 2015-06-10T12:54:58.160 回答