是否可以根据用户的属性传递 SAML 断言?

是否可以根据用户的属性传递 SAML 断言?

在 Saleforce 中 - ADFS SSO,其中 AD 为 IdP。AD“用户名”为 SAML 用户 ID;

Salesforce 中有两种类型的用户(标准用户和门户用户)。

对于门户用户的 SSO,SAML 断言必须包含另外两个参数(带有硬编码值)。对于标准用户的 SSO,SAML 断言不得包含这些参数。

以下解决方案可以在 AD 中实现吗?“在用户对象上创建一个新字段。如果它包含某个值,则传递参数。如果没有值,则不传递参数。”

或者

必须使用相同的 SP 设置两个单独的 SSO(每种类型的用户一个)。是否可以在 ADFS 端使用相同的 SP 设置两个 SSO?

注意:- 完全不知道 AD,如果问题没有意义,请指出;将尝试重新措辞。

答案1

是的,你可以做前者。

您可以定义新属性或使用用户对象上现有的未使用属性。如果您没有专门构建的属性来存储您想要存储的数据,则最好扩展架构。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms676929(v=vs.85).aspx

请注意,仅当现有属性是专门为此目的定义的时才使用它们。如果您重复使用当前未使用但后来被认为对其他软件必要的属性,则可能会遇到困难。

然后按预期填充属性。

然后,您可以使用自定义声明规则,甚至可以使用内置规则模板来提取 LDAP 属性并发送声明。如果未填充该属性,则该 LDAP 查询将不会返回数据。因此,特定声明将不会添加/发布到管道中,也不会被发送。

从...开始http://blogs.technet.com/b/askds/archive/2011/10/07/ad-fs-2-0-claims-rule-language-primer.aspx阅读声明规则。您可以阅读底部链接的后续内容以获取更多语法详细信息。

相关内容