Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.
Opmerking
In Azure Active Directory B2C is aangepast beleid voornamelijk bedoeld om met complexe scenario's om te gaan. Voor de meeste scenario's wordt aangeraden ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.
Met de elementen Predicaten en PredicateValidations kunt u een validatieproces uitvoeren om ervoor te zorgen dat alleen correct gevormde gegevens worden ingevoerd in uw Azure Active Directory B2C-tenant (Azure AD B2C).
Het volgende diagram toont de relatie tussen de elementen:
Predikaten
Het Predicaat-element definieert een basisvalidatie om de waarde van een claimtype te controleren en retourneert true of false. De validatie wordt uitgevoerd met behulp van een gespecificeerd methode-element en een set parameterelementen die relevant zijn voor de methode. Een predicaat kan bijvoorbeeld controleren of de lengte van een tekenreeksclaimwaarde binnen het bereik van de opgegeven minimum- en maximumparameters valt, of dat een tekenreeksclaimwaarde een tekenset bevat. Het element UserHelpText geeft een foutbericht voor gebruikers als de controle mislukt. De waarde van het UserHelpText-element kan worden gelokaliseerd met behulp van taalaanpassing.
Het element Predicaten moet direct na het element ClaimsSchema worden weergegeven in het element BuildingBlocks .
Het element Predicaten bevat het volgende element:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| Predicaat | 1:n | Een lijst met predicaten. |
Het predicaatselement bevat de volgende kenmerken:
| Eigenschap | Verplicht | Beschrijving |
|---|---|---|
| Identiteitsbewijs | Ja | Een id die wordt gebruikt voor het predicaat. Andere elementen kunnen deze id gebruiken in het beleid. |
| Methode | Ja | Het methodetype dat moet worden gebruikt voor validatie. Mogelijke waarden: IsLengthRange, MatchesRegex, IncludesCharacters of IsDateRange. |
| HelpTekst | Nee. | Een foutmelding voor gebruikers als de controle mislukt. Deze tekenreeks kan worden gelokaliseerd met behulp van de taalaanpassing |
Het predicaatelement bevat de volgende elementen:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| UserHelpText | 0:1 | (Afgeschaft) Een foutmelding voor gebruikers als de controle mislukt. |
| Parameterwaarden | 1:1 | De parameters voor het methodetype van de tekenreeksvalidatie. |
Het element Parameters bevat de volgende elementen:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| Kenmerk | 1:n | De parameters voor het methodetype van de tekenreeksvalidatie. |
Het element Parameter bevat de volgende kenmerken:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| Identiteitsbewijs | 1:1 | De identificatie van de parameter. |
Predicaat methoden
IsLengtebereik
De IsLengthRange-methode controleert of de lengte van een tekenreeksclaimwaarde binnen het bereik van de opgegeven minimum- en maximumparameters valt. Bekijk de Live demo van deze predicaatmethode. Het predicaatelement ondersteunt de volgende parameters:
| Kenmerk | Verplicht | Beschrijving |
|---|---|---|
| Maximaal | Ja | Het maximale aantal tekens dat kan worden ingevoerd. |
| Minimaal | Ja | Het minimale aantal tekens dat moet worden ingevoerd. |
In het volgende voorbeeld ziet u een IsLengthRange-methode met de parameters Minimum en Maximum die het lengtebereik van de tekenreeks opgeven:
<Predicate Id="IsLengthBetween8And64" Method="IsLengthRange" HelpText="The password must be between 8 and 64 characters.">
<Parameters>
<Parameter Id="Minimum">8</Parameter>
<Parameter Id="Maximum">64</Parameter>
</Parameters>
</Predicate>
WedstrijdenRegex
De MatchesRegex-methode controleert of de waarde van een tekenreeksclaim overeenkomt met een reguliere expressie. Bekijk de Live demo van deze predicaatmethode. Het predicaatelement ondersteunt de volgende parameters:
| Kenmerk | Verplicht | Beschrijving |
|---|---|---|
| Regelmatige expressie | Ja | Het patroon van de reguliere expressie dat daarbij past. |
In het volgende voorbeeld ziet u een MatchesRegex methode met de parameter RegularExpression die een reguliere expressie opgeeft:
<Predicate Id="PIN" Method="MatchesRegex" HelpText="The password must be numbers only.">
<Parameters>
<Parameter Id="RegularExpression">^[0-9]+$</Parameter>
</Parameters>
</Predicate>
InclusiefPersonages
Met de methode IncludesCharacters wordt gecontroleerd of de waarde van een tekenreeksclaim een tekenset bevat. Bekijk de Live demo van deze predicaatmethode. Het predicaatelement ondersteunt de volgende parameters:
| Kenmerk | Verplicht | Beschrijving |
|---|---|---|
| Tekenreeks | Ja | De set tekens die kan worden ingevoerd. Bijvoorbeeld kleine letters a-z, hoofdletters A-Z, cijfers 0-9of een lijst met symbolen, zoals @#$%^&*\-_+=[]{}|\\:',?/~"();!. |
In het volgende voorbeeld ziet u een IncludesCharacters methode met de parameter CharacterSet die de set tekens opgeeft:
<Predicate Id="Lowercase" Method="IncludesCharacters" HelpText="a lowercase letter">
<Parameters>
<Parameter Id="CharacterSet">a-z</Parameter>
</Parameters>
</Predicate>
IsDateRange
Met de IsDateRange-methode wordt gecontroleerd of de waarde van een datumclaim tussen een bereik van minimale en maximale parameters ligt. Bekijk de Live demo van deze predicaatmethode. Het predicaatelement ondersteunt de volgende parameters:
| Kenmerk | Verplicht | Beschrijving |
|---|---|---|
| Maximaal | Ja | De grootst mogelijke datum die kan worden ingevoerd. Het formaat van de datum volgt yyyy-mm-dd conventie, of Today. |
| Minimaal | Ja | De kleinst mogelijke datum die kan worden ingevoerd. Het formaat van de datum volgt yyyy-mm-dd conventie, of Today. |
In het volgende voorbeeld ziet u een IsDateRange methode met de parameters Minimum en Maximum die het datumbereik opgeven met de notatie en yyyy-mm-ddToday.
<Predicate Id="DateRange" Method="IsDateRange" HelpText="The date must be between 1970-01-01 and today.">
<Parameters>
<Parameter Id="Minimum">1970-01-01</Parameter>
<Parameter Id="Maximum">Today</Parameter>
</Parameters>
</Predicate>
PredicaatValidaties
Terwijl de predicaten de validatie definiƫren die moet worden gecontroleerd op basis van een claimtype, groepeert de PredicateValidations een set predicaten om een validatie voor gebruikersinvoer te vormen die kan worden toegepast op een claimtype. Elk PredicateValidation-element bevat een set PredicateGroup-elementen die een set PredicateReference-elementen bevatten die naar een predicaat verwijzen. Om de validatie te doorstaan, moet de waarde van de claim alle tests van elk predicaat onder alle PredicateGroup met hun set PredicateReference-elementen doorstaan.
Het element PredicateValidations moet direct na het element Predicates in het element BuildingBlocks worden weergegeven.
<PredicateValidations>
<PredicateValidation Id="">
<PredicateGroups>
<PredicateGroup Id="">
<UserHelpText></UserHelpText>
<PredicateReferences MatchAtLeast="">
<PredicateReference Id="" />
...
</PredicateReferences>
</PredicateGroup>
...
</PredicateGroups>
</PredicateValidation>
...
</PredicateValidations>
Het element PredicateValidations bevat het volgende element:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| PredicaatValidatie | 1:n | Een lijst met predikaatvalidatie. |
Het element PredicateValidation bevat het volgende kenmerk:
| Eigenschap | Verplicht | Beschrijving |
|---|---|---|
| Identiteitsbewijs | Ja | Een id die wordt gebruikt voor de validatie van het predicaat. Het element ClaimType kan deze id gebruiken in het beleid. |
Het element PredicateValidation bevat het volgende element:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| PredicaatGroepen | 1:n | Een lijst van predicaatgroepen. |
Het element PredicateGroups bevat het volgende element:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| PredicaatGroep | 1:n | Een lijst met predicaten. |
Het element PredicateGroup bevat het volgende kenmerk:
| Eigenschap | Verplicht | Beschrijving |
|---|---|---|
| Identiteitsbewijs | Ja | Een id die wordt gebruikt voor de predicaatgroep. |
Het element PredicateGroup bevat de volgende elementen:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| UserHelpText | 0:1 | Een beschrijving van het predicaat die nuttig kan zijn voor gebruikers om te weten welke waarde ze moeten typen. |
| PredicaatVerwijzingen | 1:n | Een lijst van predikaatverwijzingen. |
Het element PredicateReferences bevat de volgende kenmerken:
| Eigenschap | Verplicht | Beschrijving |
|---|---|---|
| Overeenkomen op zijn minst | Nee. | Hiermee geeft u op dat de waarde ten minste aan een bepaald aantal predikaatdefinities moet voldoen om de invoer te kunnen accepteren. Als deze niet is opgegeven, moet de waarde overeenkomen met alle predikaatdefinities. |
Het element PredicateReferences bevat de volgende elementen:
| Onderdeel | Instanties | Beschrijving |
|---|---|---|
| PredicaatVerwijzing | 1:n | Een verwijzing naar een predikaat. |
Het element PredicateReference bevat de volgende kenmerken:
| Eigenschap | Verplicht | Beschrijving |
|---|---|---|
| Identiteitsbewijs | Ja | Een id die wordt gebruikt voor de validatie van het predicaat. |
Wachtwoordcomplexiteit configureren
Met Predicates en PredicateValidationsInput kunt u de complexiteitsvereisten beheren voor wachtwoorden die door een gebruiker worden verstrekt bij het maken van een account. Azure AD B2C maakt standaard gebruik van sterke wachtwoorden. Azure AD B2C biedt ook ondersteuning voor configuratieopties voor het beheren van de complexiteit van wachtwoorden die klanten kunnen gebruiken. U kunt de complexiteit van wachtwoorden definiƫren met behulp van de volgende predicaatelementen:
-
IsLengthBetween8And64 gebruikt de
IsLengthRangemethode en valideert dat het wachtwoord tussen de 8 en 64 tekens moet zijn. -
Kleine letters met behulp van de
IncludesCharactersmethode controleren of het wachtwoord een kleine letter bevat. -
Met behulp van een hoofdletter wordt gecontroleerd
IncludesCharactersof het wachtwoord een hoofdletter bevat. -
Nummer met behulp van de
IncludesCharactersmethode controleert of het wachtwoord een cijfer bevat. -
Symbool met behulp van de
IncludesCharactersmethode controleert of het wachtwoord een van de verschillende symbooltekens bevat. -
Pincode met behulp van de
MatchesRegexmethode controleert dat het wachtwoord alleen cijfers bevat. -
AllowedAADCharacters met behulp van de
MatchesRegexmethode controleert of het enige ongeldige teken voor het wachtwoord is opgegeven. -
Met behulp van de
MatchesRegexmethode wordt gecontroleerd of het wachtwoord niet begint of eindigt met een spatie.
<Predicates>
<Predicate Id="IsLengthBetween8And64" Method="IsLengthRange" HelpText="The password must be between 8 and 64 characters.">
<Parameters>
<Parameter Id="Minimum">8</Parameter>
<Parameter Id="Maximum">64</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Lowercase" Method="IncludesCharacters" HelpText="a lowercase letter">
<Parameters>
<Parameter Id="CharacterSet">a-z</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Uppercase" Method="IncludesCharacters" HelpText="an uppercase letter">
<Parameters>
<Parameter Id="CharacterSet">A-Z</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Number" Method="IncludesCharacters" HelpText="a digit">
<Parameters>
<Parameter Id="CharacterSet">0-9</Parameter>
</Parameters>
</Predicate>
<Predicate Id="Symbol" Method="IncludesCharacters" HelpText="a symbol">
<Parameters>
<Parameter Id="CharacterSet">@#$%^&*\-_+=[]{}|\\:',.?/`~"();!</Parameter>
</Parameters>
</Predicate>
<Predicate Id="PIN" Method="MatchesRegex" HelpText="The password must be numbers only.">
<Parameters>
<Parameter Id="RegularExpression">^[0-9]+$</Parameter>
</Parameters>
</Predicate>
<Predicate Id="AllowedAADCharacters" Method="MatchesRegex" HelpText="An invalid character was provided.">
<Parameters>
<Parameter Id="RegularExpression">(^([0-9A-Za-z\d@#$%^&*\-_+=[\]{}|\\:',?/`~"();! ]|(\.(?!@)))+$)|(^$)</Parameter>
</Parameters>
</Predicate>
<Predicate Id="DisallowedWhitespace" Method="MatchesRegex" HelpText="The password must not begin or end with a whitespace character.">
<Parameters>
<Parameter Id="RegularExpression">(^\S.*\S$)|(^\S+$)|(^$)</Parameter>
</Parameters>
</Predicate>
Nadat u de basisvalidaties hebt gedefinieerd, kunt u deze combineren en een set wachtwoordbeleidsregels maken die u in uw beleid kunt gebruiken:
- SimplePassword valideert de DisallowedWhitespace, AllowedAADCharacters en IsLengthBetween8And64
-
StrongPassword valideert de DisallowedWhitespace, AllowedAADCharacters, IsLengthBetween8And64. De laatste groep
CharacterClassesvoert een extra set predicaten uit metMatchAtLeasteen set op 3. Het gebruikerswachtwoord moet tussen de 8 en 16 tekens lang zijn en drie van de volgende tekens bevatten: Kleine letters, Hoofdletters, Cijfers of Symbolen. - CustomPassword valideert alleen DisallowedWhitespace, AllowedAADCharacters. De gebruiker kan dus elk wachtwoord van elke lengte opgeven, zolang de tekens geldig zijn.
<PredicateValidations>
<PredicateValidation Id="SimplePassword">
<PredicateGroups>
<PredicateGroup Id="DisallowedWhitespaceGroup">
<PredicateReferences>
<PredicateReference Id="DisallowedWhitespace" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="AllowedAADCharactersGroup">
<PredicateReferences>
<PredicateReference Id="AllowedAADCharacters" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="LengthGroup">
<PredicateReferences>
<PredicateReference Id="IsLengthBetween8And64" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
<PredicateValidation Id="StrongPassword">
<PredicateGroups>
<PredicateGroup Id="DisallowedWhitespaceGroup">
<PredicateReferences>
<PredicateReference Id="DisallowedWhitespace" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="AllowedAADCharactersGroup">
<PredicateReferences>
<PredicateReference Id="AllowedAADCharacters" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="LengthGroup">
<PredicateReferences>
<PredicateReference Id="IsLengthBetween8And64" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="CharacterClasses">
<UserHelpText>The password must have at least 3 of the following:</UserHelpText>
<PredicateReferences MatchAtLeast="3">
<PredicateReference Id="Lowercase" />
<PredicateReference Id="Uppercase" />
<PredicateReference Id="Number" />
<PredicateReference Id="Symbol" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
<PredicateValidation Id="CustomPassword">
<PredicateGroups>
<PredicateGroup Id="DisallowedWhitespaceGroup">
<PredicateReferences>
<PredicateReference Id="DisallowedWhitespace" />
</PredicateReferences>
</PredicateGroup>
<PredicateGroup Id="AllowedAADCharactersGroup">
<PredicateReferences>
<PredicateReference Id="AllowedAADCharacters" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
</PredicateValidations>
Voeg in uw claimtype het element PredicateValidationReference toe en geef de id op als een van de predicaatvalidaties, zoals SimplePassword, StrongPassword of CustomPassword.
<ClaimType Id="password">
<DisplayName>Password</DisplayName>
<DataType>string</DataType>
<AdminHelpText>Enter password</AdminHelpText>
<UserHelpText>Enter password</UserHelpText>
<UserInputType>Password</UserInputType>
<PredicateValidationReference Id="StrongPassword" />
</ClaimType>
Hieronder ziet u hoe de elementen zijn georganiseerd wanneer het foutbericht wordt weergegeven in Azure AD B2C:
Een periode configureren
Met de elementen Predicates en PredicateValidations kunt u de minimum- en maximumdatumwaarden van UserInputType bepalen met behulp van een DateTimeDropdown. Om dit te doen, maakt u een predicaat met de IsDateRange methode en geeft u de minimale en maximale parameters op.
<Predicates>
<Predicate Id="DateRange" Method="IsDateRange" HelpText="The date must be between 01-01-1980 and today.">
<Parameters>
<Parameter Id="Minimum">1980-01-01</Parameter>
<Parameter Id="Maximum">Today</Parameter>
</Parameters>
</Predicate>
</Predicates>
Voeg een PredicateValidation toe met een verwijzing naar het DateRange predicaat.
<PredicateValidations>
<PredicateValidation Id="CustomDateRange">
<PredicateGroups>
<PredicateGroup Id="DateRangeGroup">
<PredicateReferences>
<PredicateReference Id="DateRange" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
</PredicateValidations>
Voeg in uw claimtype het element PredicateValidationReference toe en geef de id op als CustomDateRange.
<ClaimType Id="dateOfBirth">
<DisplayName>Date of Birth</DisplayName>
<DataType>date</DataType>
<AdminHelpText>The user's date of birth.</AdminHelpText>
<UserHelpText>Your date of birth.</UserHelpText>
<UserInputType>DateTimeDropdown</UserInputType>
<PredicateValidationReference Id="CustomDateRange" />
</ClaimType>
Volgende stappen
- Meer informatie over het configureren van wachtwoordcomplexiteit met behulp van aangepast beleid in Azure Active Directory B2C met behulp van predikaatvalidaties.