如何使用SP';simplesamlphp IDP ldap查询中的s域?

如何使用SP';simplesamlphp IDP ldap查询中的s域?,ldap,single-sign-on,simplesamlphp,Ldap,Single Sign On,Simplesamlphp,我的simplesamlphp连接到ldap以检查凭据;ldap保存每个用户的属性(多个“l”-条目),这些属性定义了用户应该能够登录到哪个SP;e、 g 用户和SP: Jane具有以下属性:l:srv01.example.com,l:srv02.example.com John具有以下属性:l:srv02.example.com、l:srv03.sample.com、l:srv04.sample.com 如果我在authsources.php中手动输入ldap过滤器,效果会很好 'sear

我的simplesamlphp连接到ldap以检查凭据;ldap保存每个用户的属性(多个“l”-条目),这些属性定义了用户应该能够登录到哪个SP;e、 g

用户和SP:

  • Jane具有以下属性:l:srv01.example.com,l:srv02.example.com
  • John具有以下属性:l:srv02.example.com、l:srv03.sample.com、l:srv04.sample.com
如果我在authsources.php中手动输入ldap过滤器,效果会很好
'search.filter'=>'(&(objectclass=person)(l=srv02.example.com))”

现在我需要一个变量来指示SP的域(即身份验证请求的来源);像

'search.filter'=>'(&(objectclass=person)(l=%spdomain%))”

我怎样才能做到这一点

我对ldap和SSO非常陌生,所以非常感谢您的任何提示

埃尔洛博


编辑:

我唯一能找到的方法是:

  • 将每个sp指向其自己的(对应的)idp
  • 将标识sp的内容附加到它将使用的idp url中,例如
    https://auth.example.com/simplesamlphp/saml2/idp/SSOService.php?sp=srv01.example.com
  • 注:sp=。。。变量实际上从未在simplesamlphp中使用/处理过,将其放在那里的唯一原因是让每个sp都有一个唯一的idp实体id
  • 现在,由于每个sp都有相应的idp,它引用不同的ldap查询
务实地说,我会说“任务完成了”。然而,使用一个变量会更简单;不是吗