Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / February 2008

Tip: Looking for answers? Try searching our database.

NewPasswordRegularExpression bug in ChangePassword control

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Dmitry Duginov - 08 Feb 2008 19:01 GMT
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>

Regards,
Dmitry
Alexey Smirnov - 10 Feb 2008 10:23 GMT
> Hi,
>
[quoted text clipped - 38 lines]
> Regards,
> Dmitry

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.changepasswor
d.newpasswordregularexpression.aspx


Hope this helps
Dmitry Duginov - 11 Feb 2008 18:27 GMT
On Feb 8, 8:01 pm, "Dmitry Duginov" <d...@nospam.nospam> wrote:
> Hi,
>
[quoted text clipped - 36 lines]
> 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.changepasswo
rd.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.
Steven Cheng[MSFT] - 13 Feb 2008 06:36 GMT
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

>On Feb 8, 8:01 pm, "Dmitry Duginov" <d...@nospam.nospam> wrote:
>> Hi,
[quoted text clipped - 55 lines]
>
>D.
Dmitry Duginov - 14 Feb 2008 15:11 GMT
> Hi Dmitry,
>
[quoted text clipped - 4 lines]
> 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.

>>From: "Dmitry Duginov" <dima@nospam.nospam>
>>References: <eWLRHUoaIHA.5980@TK2MSFTNGP04.phx.gbl>
[quoted text clipped - 63 lines]
>>
>>D.
Dmitry Duginov - 14 Feb 2008 15:21 GMT
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.
Jesse Houwing - 14 Feb 2008 20:28 GMT
Hello Dmitry,

> MSDN states that:
>
[quoted text clipped - 11 lines]
>
> 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 compliace
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/JavaScript/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/differences:
http://www.regular-expressions.info/tools.html

--
Jesse Houwing
jesse.houwing at sogeti.nl
Steven Cheng - 19 Feb 2008 10:49 GMT
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

>MSDN states that:
>
[quoted text clipped - 11 lines]
>
>D.
Dmitry Duginov - 26 Feb 2008 17:08 GMT
> Hi Dmitry,
>
[quoted text clipped - 4 lines]
> expression and some password patterns? I'd do some tests on my local side
> to confirm the behavior.

Steven, it's been two weeks.

Did you get anything related to this issue???

D.

> --------------------
>>From: "Dmitry Duginov" <dima@nospam.nospam>
[quoted text clipped - 64 lines]
>>
>>D.
Steven Cheng - 27 Feb 2008 10:45 GMT
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

>> Hi Dmitry,
>>
[quoted text clipped - 34 lines]
>>>> connectionStringName="XYZMembershipConnection"
>>>> applicationName="XYZ"

passwordStrengthRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})"
>>>> enablePasswordReset="false"
>>>> requiresUniqueEmail="true"
[quoted text clipped - 40 lines]
>>>
>>>D.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.