Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.
Uyarı
Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.
Predicates ve PredicateValidations öğeleri, Azure Active Directory B2C (Azure AD B2C) kiracınıza yalnızca düzgün biçimlendirilmiş verilerin girildiğinden emin olmak için bir doğrulama işlemi gerçekleştirmenizi sağlar.
Aşağıdaki diyagramda öğeler arasındaki ilişki gösterilmektedir:
Yüklemler
Predicate öğesi, bir talep türünün değerini kontrol etmek için temel bir doğrulama tanımlar ve veya truedöndürürfalse. Doğrulama, belirtilen bir Yöntem öğesi ve yöntemle ilgili bir dizi Parametre öğesi kullanılarak yapılır. Örneğin, bir koşul, bir dize talep değerinin uzunluğunun belirtilen minimum ve maksimum parametreler aralığında olup olmadığını veya bir dize talep değerinin bir karakter kümesi içerip içermediğini denetleyebilir.
UserHelpText öğesi, denetim başarısız olursa kullanıcılar için bir hata iletisi sağlar.
UserHelpText öğesinin değeri, dil özelleştirmesi kullanılarak yerelleştirilebilir.
Predicates öğesi, BuildingBlocks öğesi içindeki ClaimsSchema öğesinin hemen ardından görünmelidir.
Predicates öğesi aşağıdaki öğeyi içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Yüklem | 1:n | Koşul listesi. |
Predicate öğesi aşağıdaki öznitelikleri içerir:
| Özellik | Gerekli | Açıklama |
|---|---|---|
| Kimlik | Evet | Koşul için kullanılan bir tanımlayıcı. Diğer öğeler ilkede bu tanımlayıcıyı kullanabilir. |
| Yöntem | Evet | Doğrulama için kullanılacak yöntem türü. Olası değerler: IsLengthRange, MatchesRegex, IncludesCharacters veya IsDateRange. |
| Yardım Metni | Hayı | Denetim başarısız olursa kullanıcılar için bir hata mesajı. Bu dize, dil özelleştirmesi kullanılarak yerelleştirilebilir |
Predicate öğesi aşağıdaki öğeleri içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Kullanıcı Yardım Metni | 0:1 | (Kullanım dışı) Denetim başarısız olursa kullanıcılar için bir hata mesajı. |
| Parametreler | 1:1 | Dize doğrulamasının yöntem türü için parametreler. |
Parameters öğesi aşağıdaki öğeleri içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Parametre | 1:n | Dize doğrulamasının yöntem türü için parametreler. |
Parameter öğesi aşağıdaki öznitelikleri içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Kimlik | 1:1 | Parametrenin tanımlayıcısı. |
Yüklem yöntemleri
IsLengthRange
IsLengthRange yöntemi, bir dize talep değerinin uzunluğunun belirtilen minimum ve maksimum parametreler aralığında olup olmadığını denetler. Bu yüklem yönteminin Canlı demosuna göz atın. Yüklem öğesi aşağıdaki parametreleri destekler:
| Parametre | Gerekli | Açıklama |
|---|---|---|
| Maksimum | Evet | Girilebilecek en fazla karakter sayısı. |
| Asgari | Evet | Girilmesi gereken en az karakter sayısı. |
Aşağıdaki örnek, parametrelerle Minimum birlikte ve Maximum dizenin uzunluk aralığını belirten bir IsLengthRange yöntemini gösterir:
<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>
MaçlarRegex
MatchesRegex yöntemi, bir dize talep değerinin normal bir ifadeyle eşleşip eşleşmediğini denetler. Bu yüklem yönteminin Canlı demosuna göz atın. Yüklem öğesi aşağıdaki parametreleri destekler:
| Parametre | Gerekli | Açıklama |
|---|---|---|
| Düzenli İfade | Evet | Eşleştirilecek normal ifade deseni. |
Aşağıdaki örnek, normal bir ifade belirten parametreye MatchesRegex sahip bir RegularExpression yöntemi gösterir:
<Predicate Id="PIN" Method="MatchesRegex" HelpText="The password must be numbers only.">
<Parameters>
<Parameter Id="RegularExpression">^[0-9]+$</Parameter>
</Parameters>
</Predicate>
İçindekilerKarakterler
IncludesCharacters yöntemi, bir dize talep değerinin bir karakter kümesi içerip içermediğini denetler. Bu yüklem yönteminin Canlı demosuna göz atın. Yüklem öğesi aşağıdaki parametreleri destekler:
| Parametre | Gerekli | Açıklama |
|---|---|---|
| Karakter Seti | Evet | Girilebilecek karakter kümesi. Örneğin, küçük harfli karakterler a-z, büyük harfli A-Zkarakterler 0-9, rakamlar veya gibi @#$%^&*\-_+=[]{}|\\:',?/~"();!bir sembol listesi. |
Aşağıdaki örnek, karakter kümesini belirten parametreye IncludesCharacters sahip bir CharacterSet yöntemi gösterir:
<Predicate Id="Lowercase" Method="IncludesCharacters" HelpText="a lowercase letter">
<Parameters>
<Parameter Id="CharacterSet">a-z</Parameter>
</Parameters>
</Predicate>
IsDateRange
IsDateRange yöntemi, bir tarih talebi değerinin belirtilen en düşük ve en yüksek parametre aralığı arasında olup olmadığını denetler. Bu yüklem yönteminin Canlı demosuna göz atın. Yüklem öğesi aşağıdaki parametreleri destekler:
| Parametre | Gerekli | Açıklama |
|---|---|---|
| Maksimum | Evet | Girilebilecek mümkün olan en büyük tarih. Tarihin biçimi kurala uyar yyyy-mm-dd veya Today. |
| Asgari | Evet | Girilebilecek mümkün olan en küçük tarih. Tarihin biçimi kurala uyar yyyy-mm-dd veya Today. |
Aşağıdaki örnek, parametrelere IsDateRange sahip olan ve Minimum tarih aralığını ve Maximumbiçimiyle yyyy-mm-dd belirten bir Today yöntemi gösterir.
<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>
Koşul Doğrulamaları
Koşullar bir talep türünü denetlemek için doğrulamayı tanımlarken, PredicateValidations bir talep türüne uygulanabilecek bir kullanıcı girişi doğrulaması oluşturmak için bir koşul kümesini gruplandırır. Her PredicateValidation öğesi, birPredicate'e işaret eden bir dizi PredicateReference öğesi içeren bir dizi PredicateGroup öğesi içerir. Doğrulamayı geçmek için, talebin değeri, PredicateReference öğeleri kümesiyle birlikte tüm PredicateGroup altındaki herhangi bir koşulun tüm testlerini geçmelidir.
PredicateValidations öğesi, BuildingBlocks öğesinin içindeki Predicates öğesinin hemen ardından görünmelidir.
<PredicateValidations>
<PredicateValidation Id="">
<PredicateGroups>
<PredicateGroup Id="">
<UserHelpText></UserHelpText>
<PredicateReferences MatchAtLeast="">
<PredicateReference Id="" />
...
</PredicateReferences>
</PredicateGroup>
...
</PredicateGroups>
</PredicateValidation>
...
</PredicateValidations>
PredicateValidations öğesi aşağıdaki öğeyi içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Koşul Doğrulaması | 1:n | Koşul doğrulamasının bir listesi. |
PredicateValidation öğesi aşağıdaki özniteliği içerir:
| Özellik | Gerekli | Açıklama |
|---|---|---|
| Kimlik | Evet | Koşul doğrulaması için kullanılan bir tanımlayıcı. ClaimType öğesi ilkede bu tanımlayıcıyı kullanabilir. |
PredicateValidation öğesi aşağıdaki öğeyi içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Yüklem Grupları | 1:n | Yüklem gruplarının listesi. |
PredicateGroups öğesi aşağıdaki öğeyi içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Yüklem Grubu | 1:n | Koşul listesi. |
PredicateGroup öğesi aşağıdaki özniteliği içerir:
| Özellik | Gerekli | Açıklama |
|---|---|---|
| Kimlik | Evet | Koşul grubu için kullanılan bir tanımlayıcı. |
PredicateGroup öğesi aşağıdaki öğeleri içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Kullanıcı Yardım Metni | 0:1 | Kullanıcıların hangi değeri yazmaları gerektiğini bilmelerine yardımcı olabilecek bir koşul açıklaması. |
| YüklemBaşvurular | 1:n | Yüklem başvurularının listesi. |
PredicateReferences öğesi aşağıdaki öznitelikleri içerir:
| Özellik | Gerekli | Açıklama |
|---|---|---|
| En Azından Eşleştir | Hayı | Girişin kabul edilebilmesi için değerin en az o kadar koşul tanımıyla eşleşmesi gerektiğini belirtir. Belirtilmezse, değerin tüm koşul tanımlarıyla eşleşmesi gerekir. |
PredicateReferences öğesi aşağıdaki öğeleri içerir:
| Öğe | Oluşum | Açıklama |
|---|---|---|
| Yüklem Başvurusu | 1:n | Bir yüklem başvurusu. |
PredicateReference öğesi aşağıdaki öznitelikleri içerir:
| Özellik | Gerekli | Açıklama |
|---|---|---|
| Kimlik | Evet | Koşul doğrulaması için kullanılan bir tanımlayıcı. |
Parola karmaşıklığını yapılandırma
Predicates ve PredicateValidationsInput ile, bir hesap oluştururken bir kullanıcı tarafından sağlanan parolalar için karmaşıklık gereksinimlerini denetleyebilirsiniz. Varsayılan olarak, Azure AD B2C güçlü parolalar kullanır. Azure AD B2C, müşterilerin kullanabileceği parolaların karmaşıklığını denetlemek için yapılandırma seçeneklerini de destekler. Bu koşul öğelerini kullanarak parola karmaşıklığını tanımlayabilirsiniz:
-
IsLengthBetween8And64 yöntemini kullanarak
IsLengthRange, parolanın 8 ile 64 karakter arasında olması gerektiğini doğrular. - Yöntemi kullanan
IncludesCharacters, parolanın küçük harf içerdiğini doğrular. - Yöntemi kullanan
IncludesCharacters, parolanın büyük harf içerdiğini doğrular. -
Yöntemi kullanan
IncludesCharacterssayı, parolanın bir rakam içerdiğini doğrular. -
Symbol yöntemini kullanarak
IncludesCharacters, parolanın birkaç sembol karakterinden birini içerdiğini doğrular. -
Yöntemini kullanan
MatchesRegexPIN, parolanın yalnızca sayılar içerdiğini doğrular. -
AllowedAADCharacters yöntemini kullanarak
MatchesRegex, parolanın yalnızca geçersiz karakterin sağlandığını doğrular. -
DisallowedWhitespace yöntemini kullanarak
MatchesRegex, parolanın boşluk karakteriyle başlamadığını veya bitmediğini doğrular.
<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>
Temel doğrulamaları tanımladıktan sonra, bunları bir araya getirebilir ve ilkenizde kullanabileceğiniz bir dizi parola ilkesi oluşturabilirsiniz:
- SimplePassword , DisallowedWhitespace, AllowedAADCharacters ve IsLengthBetween8And64 değerlerini doğrular
-
StrongPassword , DisallowedWhitespace, AllowedAADCharacters, IsLengthBetween8And64 değerlerini doğrular. Son grup
CharacterClasses, 3 olarakMatchAtLeastayarlanmış ek bir koşul kümesi çalıştırır. Kullanıcı parolası 8 ile 16 karakter arasında olmalı ve şu karakterlerden üçü olmalıdır: Küçük Harf, Büyük Harf, Sayı veya Simge. - CustomPassword yalnızca DisallowedWhitespace, AllowedAADCharacters'ı doğrular. Böylece, karakterli karakterler geçerli olduğu sürece kullanıcı herhangi bir uzunlukta herhangi bir şifre sağlayabilir.
<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>
Talep türünüzde PredicateValidationReference öğesini ekleyin ve tanımlayıcıyı SimplePassword, StrongPassword veya CustomPassword gibi koşul doğrulamalarından biri olarak belirtin.
<ClaimType Id="password">
<DisplayName>Password</DisplayName>
<DataType>string</DataType>
<AdminHelpText>Enter password</AdminHelpText>
<UserHelpText>Enter password</UserHelpText>
<UserInputType>Password</UserInputType>
<PredicateValidationReference Id="StrongPassword" />
</ClaimType>
Aşağıda, Azure AD B2C hata iletisini görüntülediğinde öğelerin nasıl düzenlendiği gösterilmektedir:
Bir tarih aralığı yapılandırın
Predicates ve PredicateValidations öğeleriyle, UserInputType öğesinin minimum ve maksimum tarih değerlerini bir DateTimeDropdownkullanarak denetleyebilirsiniz. Bunu yapmak için, yöntemiyle bir KoşulIsDateRange oluşturun ve minimum ve maksimum parametreleri sağlayın.
<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>
Koşula başvuru içeren bir DateRange ekleyin.
<PredicateValidations>
<PredicateValidation Id="CustomDateRange">
<PredicateGroups>
<PredicateGroup Id="DateRangeGroup">
<PredicateReferences>
<PredicateReference Id="DateRange" />
</PredicateReferences>
</PredicateGroup>
</PredicateGroups>
</PredicateValidation>
</PredicateValidations>
Talep türünüzde PredicateValidationReference öğesini ekleyin ve tanımlayıcıyı olarak CustomDateRangebelirtin.
<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>
Sonraki Adımlar
- Koşul doğrulamalarını kullanarak Azure Active Directory B2C'de özel ilkeleri kullanarak parola karmaşıklığını yapılandırmayı öğrenin.