我们正在使用自定义SignUp / SignIn政策,并且未更改任何Microsoft提供的属性及其规则。
对于密码,验证无法按照政策中的规定进行操作
<ClaimType Id="newPassword">
<DisplayName>New Password</DisplayName>
<DataType>string</DataType>
<UserHelpText>Enter new password</UserHelpText>
<UserInputType>Password</UserInputType>
<Restriction>
<Pattern RegularExpression="^((?=.*[a-z])(?=.*[A-Z])(?=.*\d)|(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*\d)(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]))([A-Za-z\d@#$%^&*\-_+=[\]{}|\\:',?/`~"();!]|\.(?!@)){8,16}$" HelpText="8-16 characters, containing 3 out of 4 of the following: Lowercase characters, uppercase characters, digits (0-9), and one or more of the following symbols: @ # $ % ^ & * - _ + = [ ] { } | \ : ' , ? / ` ~ " ( ) ; ." />
</Restriction>
</ClaimType>
如果我开始在文本框中输入密码,它将显示如上所述的帮助文本,但是当我输入密码为&#34; testT1234&#34;并继续,它没有强制执行验证。
如果我必须添加/更新自定义政策以强制执行所说的内容,请告诉我。
谢谢,
答案 0 :(得分:1)
根据Regex和helptext,您的密码“tesT1234”匹配正常。
我猜你的理解不同,并认为它应该允许特殊字符也完成密码匹配。
但按照正则表达式和helptext:如果您的密码满足4个条件中的3个,则B2C允许使用。并且您的密码已满足3个条件。
8-16个字符,包含 3个中的3个:小写字符,大写字符,数字(0-9)以及以下一个或多个符号:
您可以愉快地调整正则表达式并添加自己的匹配条件。