I am trying to enforce the following password strength rules:
8 characters minimum
including at least 2 digits
and at least one non-alphanumeric character
Web.config fragment:
<membership defaultProvider="XYZMembershipProvider">
<providers>
<add name="XYZMembershipProvider"
connectionStringName="XYZMembershipConnection"
applicationName="XYZ"
passwordStrengthRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})"
enablePasswordReset="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
type="System.Web.Security.SqlMembershipProvider"/>
</providers>
</membership>
On provider level it works fine, but when I'm trying to place the same Regex
(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})
into NewPasswordRegularExpression property of ChangePassword control,
client-side validation fails for valid passwords that pass server-side
validation when NewPasswordRegularExpression is not filled.
Control markup is below. It looks like javascript-based regex parsing does
not work the same way as its client side peer. Any suggestions?
<asp:ChangePassword ID="ChangePassword1" runat="server"
NewPasswordRegularExpressionErrorMessage
="New password must have at
least 8 characters, including two numbers and one special character"
PasswordHintText="Please enter a password at least 8 characters
long, containing two numbers and one special character"
NewPasswordRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\w){1,})">
</asp:ChangePassword>
Regards,
DmitryOn Feb 8, 8:01=A0pm, "Dmitry Duginov" <d...@.nospam.nospam> wrote:
> Hi,
> I am trying to enforce the following password strength rules:
> 8 characters minimum
> including at least 2 digits
> and at least one non-alphanumeric character
> Web.config fragment:
> =A0 <membership defaultProvider=3D"XYZMembershipProvider">
> =A0 =A0<providers>
> =A0 =A0 =A0 =A0 <add name=3D"XYZMembershipProvider"
> =A0 =A0 =A0 =A0 connectionStringName=3D"XYZMembershipConnection"
> =A0 =A0 =A0 =A0 applicationName=3D"XYZ"
> =A0 =A0 =A0 =A0 passwordStrengthRegularExpression=3D"(?=3D.{8,})(?=3D(.*\d=[/color
]
){2,})(?=3D(.*\W){1,})"
> =A0 =A0 =A0 =A0 enablePasswordReset=3D"false"
> =A0 =A0 =A0 =A0 requiresUniqueEmail=3D"true"
> =A0 =A0 =A0 =A0 passwordFormat=3D"Hashed"
> =A0 =A0 =A0 =A0 type=3D"System.Web.Security.SqlMembershipProvider"/>
> =A0 =A0</providers>
> =A0 </membership>
> On provider level it works fine, but when I'm trying to place the same Reg=[/color
]
ex
> (?=3D.{8,})(?=3D(.*\d){2,})(?=3D(.*\W){1,})
> into NewPasswordRegularExpression property of ChangePassword control,
> client-side validation fails for valid passwords that pass server-side
> validation when NewPasswordRegularExpression is not filled.
> Control markup is below. It looks like javascript-based regex parsing does=[/color
]
> not work the same way as its client side peer. Any suggestions?
> =A0 =A0 <asp:ChangePassword ID=3D"ChangePassword1" runat=3D"server"
> =A0 =A0 =A0 =A0 NewPasswordRegularExpressionErrorMessage
=3D"New password m=[/color
]
ust have at
> least 8 characters, including two numbers and one special character"
> =A0 =A0 =A0 =A0 PasswordHintText=3D"Please enter a password at least 8 cha=[/color
]
racters
> long, containing two numbers and one special character"
> =A0 =A0 =A0 =A0 NewPasswordRegularExpression=3D"(?=3D.{8,})(?=3D(.*\d){2,}=[/color
]
)(?=3D(.*\w){1,})">
> =A0 =A0 </asp:ChangePassword>
> Regards,
> Dmitry
According to MSDN the pattern should look as follows:
NewPasswordRegularExpression =3D '@.\"(?=3D.{8,})(?=3D(.*\d){2,})(?=3D(.*\W)
{1,})'
[url]http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.changepas=[/url
]
sword.newpasswordregularexpression.aspx
Hope this helps
"Alexey Smirnov" <alexey.smirnov@.gmail.com> wrote in message
news:c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com...
On Feb 8, 8:01 pm, "Dmitry Duginov" <d...@.nospam.nospam> wrote:
> Hi,
> I am trying to enforce the following password strength rules:
> 8 characters minimum
> including at least 2 digits
> and at least one non-alphanumeric character
> Web.config fragment:
> <membership defaultProvider="XYZMembershipProvider">
> <providers>
> <add name="XYZMembershipProvider"
> connectionStringName="XYZMembershipConnection"
> applicationName="XYZ"
> passwordStrengthRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})"
> enablePasswordReset="false"
> requiresUniqueEmail="true"
> passwordFormat="Hashed"
> type="System.Web.Security.SqlMembershipProvider"/>
> </providers>
> </membership>
> On provider level it works fine, but when I'm trying to place the same
> Regex
> (?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})
> into NewPasswordRegularExpression property of ChangePassword control,
> client-side validation fails for valid passwords that pass server-side
> validation when NewPasswordRegularExpression is not filled.
> Control markup is below. It looks like javascript-based regex parsing does
> not work the same way as its client side peer. Any suggestions?
> <asp:ChangePassword ID="ChangePassword1" runat="server"
> NewPasswordRegularExpressionErrorMessage
="New password must have at
> least 8 characters, including two numbers and one special character"
> PasswordHintText="Please enter a password at least 8 characters
> long, containing two numbers and one special character"
> NewPasswordRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\w){1,})">
> </asp:ChangePassword>
>According to MSDN the pattern should look as follows:
>NewPasswordRegularExpression = '@.\"(?=.{8,})(?=(.*\d){2,})(?=(.*\W)
>{1,})'
>http://msdn2.microsoft.com/en->us/library/system.web.ui.webcontrols.changepassword.
newpasswordregularexpression.aspx
>Hope this helps
Of course it it doesn't. I gave it a try. No difference. If you look
carefully, this regex additionally forces any password to begin with
quotation mark, nothing else. But the validation fails anyway, even if I
specify "password!99.
Let's hear what Microsoft folks think about this...
D.
Hi Dmitry,
As for the CreateUserWizard and its password regex expression, I've
performed some search and it seems there hasn't recorded an existing issue.
For the behavior you mentioned, would you also paste me a test regex
expression and some password patterns? I'd do some tests on my local side
to confirm the behavior.
Sincerely,
Steven Cheng
Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.
--
>From: "Dmitry Duginov" <dima@.nospam.nospam>
>References: <eWLRHUoaIHA.5980@.TK2MSFTNGP04.phx.gbl>
<c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com>
>Subject: Re: NewPasswordRegularExpression bug in ChangePassword control
>Date: Mon, 11 Feb 2008 13:27:28 -0500
>
>"Alexey Smirnov" <alexey.smirnov@.gmail.com> wrote in message
>news:c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com...
>On Feb 8, 8:01 pm, "Dmitry Duginov" <d...@.nospam.nospam> wrote:
does
>
>
>
password.newpasswordregularexpression.aspx
>
>Of course it it doesn't. I gave it a try. No difference. If you look
>carefully, this regex additionally forces any password to begin with
>quotation mark, nothing else. But the validation fails anyway, even if I
>specify "password!99.
>Let's hear what Microsoft folks think about this...
>D.
>
>
"Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
> Hi Dmitry,
> As for the CreateUserWizard and its password regex expression, I've
> performed some search and it seems there hasn't recorded an existing
> issue.
> For the behavior you mentioned, would you also paste me a test regex
> expression and some password patterns? I'd do some tests on my local side
> to confirm the behavior.
Steven, the complete information to reproduce the bug has been included into
original message below. But of course I can copy and paste it, no problem.
<asp:ChangePassword ID="ChangePassword1" runat="server"
NewPasswordRegularExpressionErrorMessage
="New password must have at least 8
characters, including two numbers and one special character"
PasswordHintText="Please enter a password at least 8 characters long,
containing two numbers and one special character"
NewPasswordRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\w){1,})">
</asp:ChangePassword>
Example of the password: password!99
D.
> <c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com>
>
> does
> password.newpasswordregularexpression.aspx
>
"Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
MSDN states that:
Client-Side Validation for ASP.NET Server ControlsThere are a few minor
differences associated with client-side validation: ... Client-side regular
expressions differ in small details from the regular ...
But the specific differences between client-side and server side Regex
implementation in ASP.NET is nowhere to be found. Now I recall I used to
have similar problem back in 2003 - the same Regex worked differently on
client and server side. And Microsoft reps told "maybe it will be fixed in
the next version". It's been five years since then...
Could you find out what are those "small, minor differences"?
D.
Hello Dmitry,
> "Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
> news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
> MSDN states that:
> Client-Side Validation for ASP.NET Server ControlsThere are a few
> minor differences associated with client-side validation: ...
> Client-side regular expressions differ in small details from the
> regular ...
> But the specific differences between client-side and server side Regex
> implementation in ASP.NET is nowhere to be found. Now I recall I used
> to have similar problem back in 2003 - the same Regex worked
> differently on client and server side. And Microsoft reps told "maybe
> it will be fixed in the next version". It's been five years since
> then...
> Could you find out what are those "small, minor differences"?
Clientside uses the VBScript/JavaScript/ECMAScript implementation of Regex
(same as the Windows Scripting Host).
Serverside uses the .NET implementation of regex (with the ECMAScript compli
ace
turned on if I'm not mistaking).
For both of these is a separate set of documentation available and I do not
expect these differences to be removed ever/at all, as there are too many
3rd party browsers that have built in support for the same VBScript/JavaScri
pt/ECMAScript
implementation for such a change to work without serious cooperation between
all browser vendors.
I find the following website a handy reference to look up such changes/diffe
rences:
http://www.regular-expressions.info/tools.html
Jesse Houwing
jesse.houwing at sogeti.nl
Hi Dmitry,
As Jesse has mentioned, the difference is something like the script
component's string regex support and .NET's regex support. The site
provided in his message provide some information on regex support of
different tools/platform.
Sincerely,
Steven Cheng
Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.
--
>From: "Dmitry Duginov" <dima@.nospam.nospam>
>Subject: Re: NewPasswordRegularExpression bug in ChangePassword control
>Date: Thu, 14 Feb 2008 10:21:28 -0500
>
>"Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
>news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
>MSDN states that:
>Client-Side Validation for ASP.NET Server ControlsThere are a few minor
>differences associated with client-side validation: ... Client-side
regular
>expressions differ in small details from the regular ...
>
>But the specific differences between client-side and server side Regex
>implementation in ASP.NET is nowhere to be found. Now I recall I used to
>have similar problem back in 2003 - the same Regex worked differently on
>client and server side. And Microsoft reps told "maybe it will be fixed in
>the next version". It's been five years since then...
>Could you find out what are those "small, minor differences"?
>D.
>
>
"Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
> Hi Dmitry,
> As for the CreateUserWizard and its password regex expression, I've
> performed some search and it seems there hasn't recorded an existing
> issue.
> For the behavior you mentioned, would you also paste me a test regex
> expression and some password patterns? I'd do some tests on my local side
> to confirm the behavior.
Steven, it's been two w

Did you get anything related to this issue?
D.
> --
> <c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com>
>
> does
> password.newpasswordregularexpression.aspx
>
Hi Dmitry,
Sorry for keep you waiting. I've done some further research previouly and
haven't got any useful information so far. I'd like to involve some further
resource to help you on this issue. Would you send me a mail offline
through the following address:
"stcheng"+"@."+"microsoft.com"
I'll request some further information from you so as to allocate further
resource to help you.
Sincerely,
Steven Cheng
Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.
--
>From: "Dmitry Duginov" <dima@.nospam.nospam>
>References: <eWLRHUoaIHA.5980@.TK2MSFTNGP04.phx.gbl>
<c23f5daa-905b-41bb-86bb-b6214ec25970@.q77g2000hsh.googlegroups.com>
<uXjUBvNbIHA.5976@.TK2MSFTNGP05.phx.gbl>
<sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl>
>Subject: Re: NewPasswordRegularExpression bug in ChangePassword control
>Date: Tue, 26 Feb 2008 12:08:10 -0500
>
>"Steven Cheng[MSFT]" <stcheng@.online.microsoft.com> wrote in message
>news:sryMJrgbIHA.360@.TK2MSFTNGHUB02.phx.gbl...
>Steven, it's been two w

>Did you get anything related to this issue?
>D.
>
passwordStrengthRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})"
ge
>
>
0 comments:
Post a Comment