Элемент 'BuildingBlocks' в пространстве имен имеет недопустимый дочерний элемент 'Predicates' в пространстве имен - PullRequest
1 голос
/ 29 марта 2019

при загрузке измененного файла trust_framework_extension я создал новый тип заявки и добавил элементы Predicates и PredicateValidations, но когда я загружаю файл, я получаю сообщение об ошибке

"Элемент 'BuildingBlocks' в пространстве имен 'http://schemas.microsoft.com/online/cpim/schemas/2013/06' имеет недопустимый дочерний элемент' Predicates 'в пространстве имен ..."

документация показывает, что "buildingBlocks" должен содержать "Predicates" и "PredicateValidations", но выдает ошибку.

Кроме того, "InputValidations" больше не находится в строительных блоках, потому что я также получал сообщение об ошибке. следуя онлайн документации :: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-password-complexity-custom

ошибка :: Ошибка проверки: 1 ошибка (ы) проверки обнаружена в политике «B2C_1A_B_TRUSTFRAMEWORKEXTENSIONS» арендатора «abc.onmicrosoft.com». Ошибка проверки схемы обнаружена в строке 78, столбец 6 в политике «B2C_1A_B_TRUSTFRAMEWORKEXTENSIONS» арендатора »abc.onmicrosoft элемент 'BuildingBlocks' в пространстве имен 'http://schemas.microsoft.com/online/cpim/schemas/2013/06' имеет недопустимый дочерний элемент' Predicates 'в пространстве имен' http://schemas.microsoft.com/online/cpim/schemas/2013/06'. Список возможных ожидаемых элементов: 'ClientDefinitions, ContentDefinitions, Localization' в пространстве имен 'http://schemas.microsoft.com/online/cpim/schema

     <BuildingBlocks>
<ClaimsSchema>
  <ClaimType Id="newPassword">
      <InputValidationReference Id="PasswordValidation" />
    </ClaimType>
    <ClaimType Id="reenterPassword">
      <InputValidationReference Id="PasswordValidation" />
  </ClaimType>
</ClaimsSchema>
<Predicates>
          <Predicate Id="Length" Method="IsLengthRange" HelpText="The password must be between 3 and 5 characters.">
              <Parameters>
                  <Parameter Id="Minimum">3</Parameter>
                  <Parameter Id="Maximum">5</Parameter>
              </Parameters>
            </Predicate>


            <Predicate Id="Number" Method="IncludesCharacters">
                <UserHelpText>a digit</UserHelpText>
                    <Parameters>
                      <Parameter Id="CharacterSet">0-9</Parameter>
                    </Parameters>
            </Predicate>
      </Predicates>
<PredicateValidations>
    <PredicateValidation Id="PasswordValidation">
        <PredicateReferences Id="LengthGroup" MatchAtLeast="1">
          <PredicateReference Id="Length" />
        </PredicateReferences>
        <PredicateReferences Id="3of4" MatchAtLeast="1" HelpText="only Numbers allowed">

          <PredicateReference Id="Number" />
        </PredicateReferences>
    </PredicateValidation>
</PredicateValidations>

1 Ответ

1 голос
/ 29 апреля 2019

Я столкнулся с этой проблемой, когда настраивал собственные политики. Я думаю, что это связано с порядком, в котором эти дети появляются в BuildingBlocks. Я следовал порядку, указанному здесь: https://docs.microsoft.com/en-us/azure/active-directory-b2c/buildingblocks.

Загрузка работала для меня впоследствии со следующим заказом:

<BuildingBlocks>
    <ClaimsSchema>...</ClaimsSchema>
    <Predicates>...</Predicates>
    <InputValidations>...</InputValidations>
    <ContentDefinitions>...</ContentDefinitions>
</BuildingBlocks>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...