我正在尝试构建我的基础& ext政策,以便基数保持相当静态。为了做到这一点,我在推销政策中压倒了索赔等 - 效果很好。但是,在尝试覆盖验证技术配置文件时,似乎新项目正在集合的开头添加,而不是像我预期的那样添加。
所以,如果我有这个:
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail-NoVerify">
<DisplayName>Email signup</DisplayName>
… <!-- stuff removed for brevity -->
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>
和这个
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail-NoVerify">
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="API-UpdateUser" />
<ValidationTechnicalProfile ReferenceId="API-GetUser" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
按照
的顺序执行无论如何都要控制这个顺序,因为我需要在API内容执行之前创建用户?即按顺序执行3,1,2
答案 0 :(得分:0)
您需要按照扩展策略中的正确顺序覆盖所有它们。例如,如果您的基本策略具有以下验证技术资料AAD-UserWriteUsingLogonEmail
在扩展策略中,您以正确的顺序再次添加AAD-UserWriteUsingLogonEmail:
答案 1 :(得分:0)
据我了解,如果覆盖添加具有相同元素名称和ID的元素,它将替换基本策略中的该元素。
因此,如果扩展策略包含:
````
df.clo2=df.groupby('col1').clo2.transform('first')
df
Out[1024]:
col1 clo2
0 A 1
1 A 1
2 B 3
3 B 3
````
然后,“ AAD-UserWriteUsingLogonEmail”将不会被调用两次,它将被调用一次,作为第三个验证配置文件,因为referenceId =“ AAD-UserWriteUsingLogonEmail”会覆盖基本策略文件中该元素的声明。 / p>
文档对此不太清楚,我找到的最近的文档在https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/master/Documentation/Features%20part%206.md中,其内容为:
子政策和父政策中的相同元素表示子 政策覆盖了父政策中的该元素
该文档没有弄清楚“相同元素”是什么意思,在我看来,它是相同的XPath和相同的ID(ID是该元素的唯一ID的任何属性)。