Showing posts with label password. Show all posts
Showing posts with label password. Show all posts

Monday, March 26, 2012

Newbie: Propably simple answer Checkbox_checked?

Hi there

I what to test a stored procedures on a web page using the normal connection
string.
the controls: Server, username,Password, database allow to select the
appropriate Sql server database.
Now I would use checkbox = Trusted connection as option to logon to the
database.

I guess the question that I have is where am I going wrong in the code?
How can I step through the script before or up until the page is loaded?

Any hints are greatly appreciated, the same will be made available after
completion.

Regards

Norman

Here is the Code:-----------------
<%@dotnet.itags.org. Page Language="VB" AutoEventWireup="True" %>
<%@dotnet.itags.org. import Namespace="System.Data" %>
<%@dotnet.itags.org. import Namespace="System.Data.SqlClient" %>
<%@dotnet.itags.org. import Namespace="System.Web.UI.WebControls" %>
<HTML>
<HEAD>
<script runat="server"
' code to check if the tickbox was ticked

Sub Check_Clicked(sender As Object, e As EventArgs)

If WinTrusted.checked then
'Dim conn As New SqlConnection( _
' "Data source=" & DatabaseServer.Text & _
' ";Trusted_Connection=true" & _
' ";Initial catalog=" & Database.Text)
'else
'Dim conn As New SqlConnection( _
' "Data source=" & DatabaseServer.Text & _
' ";Trusted_Connection=true" & _
' ";Initial catalog=" & Database.Text)
end if
End Sub
'
Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim ds As New DataSet
Dim conn As New SqlConnection( _
"Data source=" & DatabaseServer.Text & _
";Trusted_Connection=true" & _
";Initial catalog=" & Database.Text)

Dim cmd As New SqlCommand("sp_stored_procedures", conn) ' << when Sub
Check_Clicked and the code is run Asp courses an error at this line saying
that "conn" is not defined??
Dim adpt As New SqlDataAdapter(cmd)
Try
Status.Text = ""
adpt.Fill(ds, "SPs")
SPs.DataSource = ds.Tables("SPs")
SPs.DataTextField = "PROCEDURE_NAME"
SPs.DataBind()
Catch ex As SqlException
Status.Text = ex.Message
End Try
End Sub
Sub GetParametersButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim ds As New DataSet
'If Wintrusted.checked = True Then
' Dim conn As New SqlConnection( _
' "Data source=" & DatabaseServer.Text & _
' ";Trusted_Connection=true" & _
' ";Initial catalog=" & Database.Text)
'Else
Dim conn As New SqlConnection( _
"Data source=" & DatabaseServer.Text & _
";User id=" & Userid.text & _
";Password=" & Password.Text & _
";Initial catalog=" & Database.Text)
'End If
Dim cmd As New SqlCommand("sp_sproc_columns", conn) '' << when Sub
Check_Clicked and the code is run Asp courses an error at this line saying
that "conn" is not defined??
Dim adpt As New SqlDataAdapter(cmd)
Try
Status.Text = ""
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@dotnet.itags.org.procedure_name", SqlDbType.NVarchar, 390).Value = _
SPs.SelectedItem.Value
adpt.Fill(ds, "Parameters")
ParametersDataGrid.DataSource = ds.Tables("Parameters")
ParametersDataGrid.DataBind()
ResultsDataGrid.Visible = False
Catch ex As SqlException
Status.Text = ex.Message
End Try
End Sub

Sub AddParameters(ByVal cmd As SqlCommand)
'works ok
End Sub

Sub UpdateParameters(ByVal cmd As SqlCommand)
'Works Ok
End Sub

Sub ExecuteQueryButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim ds As New DataSet
'If WinTrusted.checked then
'Dim conn As New SqlConnection( _
' "Data source=" & DatabaseServer.Text & _
' ";Trusted_Connection=true" & _
' ";Initial catalog=" & Database.Text)
'else
Dim conn As New SqlConnection( _
"Data source=" & DatabaseServer.Text & _
";Trusted_Connection=true" & _
";Initial catalog=" & Database.Text)
'end if
Dim cmd As New SqlCommand(SPs.SelectedItem.Value, conn) ' ' << when Sub
Check_Clicked and the code is run Asp courses an error at this line saying
that "conn" is not defined??
Dim adpt As New SqlDataAdapter(cmd)
Try
Status.Text = ""
cmd.CommandType = CommandType.StoredProcedure
AddParameters(cmd)
adpt.Fill(ds, "Results")
UpdateParameters(cmd)
ResultsDataGrid.DataSource = ds.Tables("Results")
ResultsDataGrid.DataBind()
ResultsDataGrid.Visible = True
Catch ex As SqlException
Status.Text = ex.Message
End Try
End Sub
</script>
</HEAD>
----------End of
Code--------------You problem i think is happening because you are defining the connection in
a if statement
that would make it a local variable of
if(conditional statement)
{
// you code and your variables.
// any variables declared here are local to this if statement..
}

try
SqlConnection conn;
if(WinTrusted.checked == true)
con = new SqlConnection("con paramas")
else
con = new SqlConnection("second set of param")
}
SqlDataAdapter myCommand = new SqlDataAdapter("sp_storedproc", myCon)
myCommand.SelectCommand.CommandType = CommandType.StoredProc

This should work,

Hermit Dave

"Norman Fritag" <mtp.net@.ozemail.com.au> wrote in message
news:cY6Cb.10$Tq.1083@.nnrp1.ozemail.com.au...
> Hi there
> I what to test a stored procedures on a web page using the normal
connection
> string.
> the controls: Server, username,Password, database allow to select the
> appropriate Sql server database.
> Now I would use checkbox = Trusted connection as option to logon to the
> database.
> I guess the question that I have is where am I going wrong in the code?
> How can I step through the script before or up until the page is loaded?
> Any hints are greatly appreciated, the same will be made available after
> completion.
> Regards
> Norman
>
> Here is the Code:-----------------
> <%@. Page Language="VB" AutoEventWireup="True" %>
> <%@. import Namespace="System.Data" %>
> <%@. import Namespace="System.Data.SqlClient" %>
> <%@. import Namespace="System.Web.UI.WebControls" %>
> <HTML>
> <HEAD>
> <script runat="server">
> ' code to check if the tickbox was ticked
> Sub Check_Clicked(sender As Object, e As EventArgs)
> If WinTrusted.checked then
> 'Dim conn As New SqlConnection( _
> ' "Data source=" & DatabaseServer.Text & _
> ' ";Trusted_Connection=true" & _
> ' ";Initial catalog=" & Database.Text)
> 'else
> 'Dim conn As New SqlConnection( _
> ' "Data source=" & DatabaseServer.Text & _
> ' ";Trusted_Connection=true" & _
> ' ";Initial catalog=" & Database.Text)
> end if
> End Sub
> '
> Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
> Dim ds As New DataSet
> Dim conn As New SqlConnection( _
> "Data source=" & DatabaseServer.Text & _
> ";Trusted_Connection=true" & _
> ";Initial catalog=" & Database.Text)
> Dim cmd As New SqlCommand("sp_stored_procedures", conn) ' << when Sub
> Check_Clicked and the code is run Asp courses an error at this line saying
> that "conn" is not defined??
> Dim adpt As New SqlDataAdapter(cmd)
> Try
> Status.Text = ""
> adpt.Fill(ds, "SPs")
> SPs.DataSource = ds.Tables("SPs")
> SPs.DataTextField = "PROCEDURE_NAME"
> SPs.DataBind()
> Catch ex As SqlException
> Status.Text = ex.Message
> End Try
> End Sub
> Sub GetParametersButton_Click(ByVal sender As Object, ByVal e As
EventArgs)
> Dim ds As New DataSet
> 'If Wintrusted.checked = True Then
> ' Dim conn As New SqlConnection( _
> ' "Data source=" & DatabaseServer.Text & _
> ' ";Trusted_Connection=true" & _
> ' ";Initial catalog=" & Database.Text)
> 'Else
> Dim conn As New SqlConnection( _
> "Data source=" & DatabaseServer.Text & _
> ";User id=" & Userid.text & _
> ";Password=" & Password.Text & _
> ";Initial catalog=" & Database.Text)
> 'End If
> Dim cmd As New SqlCommand("sp_sproc_columns", conn) '' << when Sub
> Check_Clicked and the code is run Asp courses an error at this line saying
> that "conn" is not defined??
> Dim adpt As New SqlDataAdapter(cmd)
> Try
> Status.Text = ""
> cmd.CommandType = CommandType.StoredProcedure
> cmd.Parameters.Add("@.procedure_name", SqlDbType.NVarchar, 390).Value = _
> SPs.SelectedItem.Value
> adpt.Fill(ds, "Parameters")
> ParametersDataGrid.DataSource = ds.Tables("Parameters")
> ParametersDataGrid.DataBind()
> ResultsDataGrid.Visible = False
> Catch ex As SqlException
> Status.Text = ex.Message
> End Try
> End Sub
> Sub AddParameters(ByVal cmd As SqlCommand)
> 'works ok
> End Sub
> Sub UpdateParameters(ByVal cmd As SqlCommand)
> 'Works Ok
> End Sub
> Sub ExecuteQueryButton_Click(ByVal sender As Object, ByVal e As EventArgs)
> Dim ds As New DataSet
> 'If WinTrusted.checked then
> 'Dim conn As New SqlConnection( _
> ' "Data source=" & DatabaseServer.Text & _
> ' ";Trusted_Connection=true" & _
> ' ";Initial catalog=" & Database.Text)
> 'else
> Dim conn As New SqlConnection( _
> "Data source=" & DatabaseServer.Text & _
> ";Trusted_Connection=true" & _
> ";Initial catalog=" & Database.Text)
> 'end if
> Dim cmd As New SqlCommand(SPs.SelectedItem.Value, conn) ' ' << when Sub
> Check_Clicked and the code is run Asp courses an error at this line saying
> that "conn" is not defined??
> Dim adpt As New SqlDataAdapter(cmd)
> Try
> Status.Text = ""
> cmd.CommandType = CommandType.StoredProcedure
> AddParameters(cmd)
> adpt.Fill(ds, "Results")
> UpdateParameters(cmd)
> ResultsDataGrid.DataSource = ds.Tables("Results")
> ResultsDataGrid.DataBind()
> ResultsDataGrid.Visible = True
> Catch ex As SqlException
> Status.Text = ex.Message
> End Try
> End Sub
> </script>
> </HEAD>
> ----------End of
> Code--------------
Sorry bout the typos... too knackered... and too hungry and i would do with
some food and some sleep...

Your problem i think is happening because you are defining the connection in
a if statement
that would make it a local variable of
if(conditional statement)
{
// you code and your variables.
// any variables declared here are local to this if statement..
}

try
SqlConnection conn;
if(WinTrusted.checked == true)
conn = new SqlConnection("con paramas")
else
conn = new SqlConnection("second set of param")
}
SqlDataAdapter myCommand = new SqlDataAdapter("sp_storedproc", conn)
myCommand.SelectCommand.CommandType = CommandType.StoredProc

This should work,

Hermit Dave

"Hermit Dave" <hermitd.REMOVE@.CAPS.AND.DOTS.hotmail.com> wrote in message
news:evdi6$DwDHA.2372@.TK2MSFTNGP09.phx.gbl...
> You problem i think is happening because you are defining the connection
in
> a if statement
> that would make it a local variable of
> if(conditional statement)
> {
> // you code and your variables.
> // any variables declared here are local to this if statement..
> }
> try
> SqlConnection conn;
> if(WinTrusted.checked == true)
> con = new SqlConnection("con paramas")
> else
> con = new SqlConnection("second set of param")
> }
> SqlDataAdapter myCommand = new SqlDataAdapter("sp_storedproc", myCon)
> myCommand.SelectCommand.CommandType = CommandType.StoredProc
> This should work,
> Hermit Dave
> "Norman Fritag" <mtp.net@.ozemail.com.au> wrote in message
> news:cY6Cb.10$Tq.1083@.nnrp1.ozemail.com.au...
> > Hi there
> > I what to test a stored procedures on a web page using the normal
> connection
> > string.
> > the controls: Server, username,Password, database allow to select the
> > appropriate Sql server database.
> > Now I would use checkbox = Trusted connection as option to logon to the
> > database.
> > I guess the question that I have is where am I going wrong in the code?
> > How can I step through the script before or up until the page is loaded?
> > Any hints are greatly appreciated, the same will be made available after
> > completion.
> > Regards
> > Norman
> > Here is the Code:-----------------
> > <%@. Page Language="VB" AutoEventWireup="True" %>
> > <%@. import Namespace="System.Data" %>
> > <%@. import Namespace="System.Data.SqlClient" %>
> > <%@. import Namespace="System.Web.UI.WebControls" %>
> > <HTML>
> > <HEAD>
> > <script runat="server">
> > ' code to check if the tickbox was ticked
> > Sub Check_Clicked(sender As Object, e As EventArgs)
> > If WinTrusted.checked then
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'else
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > end if
> > End Sub
> > '
> > Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
> > Dim ds As New DataSet
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";Trusted_Connection=true" & _
> > ";Initial catalog=" & Database.Text)
> > Dim cmd As New SqlCommand("sp_stored_procedures", conn) ' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > adpt.Fill(ds, "SPs")
> > SPs.DataSource = ds.Tables("SPs")
> > SPs.DataTextField = "PROCEDURE_NAME"
> > SPs.DataBind()
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > Sub GetParametersButton_Click(ByVal sender As Object, ByVal e As
> EventArgs)
> > Dim ds As New DataSet
> > 'If Wintrusted.checked = True Then
> > ' Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'Else
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";User id=" & Userid.text & _
> > ";Password=" & Password.Text & _
> > ";Initial catalog=" & Database.Text)
> > 'End If
> > Dim cmd As New SqlCommand("sp_sproc_columns", conn) '' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > cmd.CommandType = CommandType.StoredProcedure
> > cmd.Parameters.Add("@.procedure_name", SqlDbType.NVarchar, 390).Value = _
> > SPs.SelectedItem.Value
> > adpt.Fill(ds, "Parameters")
> > ParametersDataGrid.DataSource = ds.Tables("Parameters")
> > ParametersDataGrid.DataBind()
> > ResultsDataGrid.Visible = False
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > Sub AddParameters(ByVal cmd As SqlCommand)
> > 'works ok
> > End Sub
> > Sub UpdateParameters(ByVal cmd As SqlCommand)
> > 'Works Ok
> > End Sub
> > Sub ExecuteQueryButton_Click(ByVal sender As Object, ByVal e As
EventArgs)
> > Dim ds As New DataSet
> > 'If WinTrusted.checked then
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'else
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";Trusted_Connection=true" & _
> > ";Initial catalog=" & Database.Text)
> > 'end if
> > Dim cmd As New SqlCommand(SPs.SelectedItem.Value, conn) ' ' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > cmd.CommandType = CommandType.StoredProcedure
> > AddParameters(cmd)
> > adpt.Fill(ds, "Results")
> > UpdateParameters(cmd)
> > ResultsDataGrid.DataSource = ds.Tables("Results")
> > ResultsDataGrid.DataBind()
> > ResultsDataGrid.Visible = True
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > </script>
> > </HEAD>
> > ----------End of
> > Code--------------
Thanks Hermit Dave
I picked up the thought an it works Ok.
Regards

Norman

"Hermit Dave" <hermitd.REMOVE@.CAPS.AND.DOTS.hotmail.com> wrote in message
news:evdi6$DwDHA.2372@.TK2MSFTNGP09.phx.gbl...
> You problem i think is happening because you are defining the connection
in
> a if statement
> that would make it a local variable of
> if(conditional statement)
> {
> // you code and your variables.
> // any variables declared here are local to this if statement..
> }
> try
> SqlConnection conn;
> if(WinTrusted.checked == true)
> con = new SqlConnection("con paramas")
> else
> con = new SqlConnection("second set of param")
> }
> SqlDataAdapter myCommand = new SqlDataAdapter("sp_storedproc", myCon)
> myCommand.SelectCommand.CommandType = CommandType.StoredProc
> This should work,
> Hermit Dave
> "Norman Fritag" <mtp.net@.ozemail.com.au> wrote in message
> news:cY6Cb.10$Tq.1083@.nnrp1.ozemail.com.au...
> > Hi there
> > I what to test a stored procedures on a web page using the normal
> connection
> > string.
> > the controls: Server, username,Password, database allow to select the
> > appropriate Sql server database.
> > Now I would use checkbox = Trusted connection as option to logon to the
> > database.
> > I guess the question that I have is where am I going wrong in the code?
> > How can I step through the script before or up until the page is loaded?
> > Any hints are greatly appreciated, the same will be made available after
> > completion.
> > Regards
> > Norman
> > Here is the Code:-----------------
> > <%@. Page Language="VB" AutoEventWireup="True" %>
> > <%@. import Namespace="System.Data" %>
> > <%@. import Namespace="System.Data.SqlClient" %>
> > <%@. import Namespace="System.Web.UI.WebControls" %>
> > <HTML>
> > <HEAD>
> > <script runat="server">
> > ' code to check if the tickbox was ticked
> > Sub Check_Clicked(sender As Object, e As EventArgs)
> > If WinTrusted.checked then
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'else
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > end if
> > End Sub
> > '
> > Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
> > Dim ds As New DataSet
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";Trusted_Connection=true" & _
> > ";Initial catalog=" & Database.Text)
> > Dim cmd As New SqlCommand("sp_stored_procedures", conn) ' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > adpt.Fill(ds, "SPs")
> > SPs.DataSource = ds.Tables("SPs")
> > SPs.DataTextField = "PROCEDURE_NAME"
> > SPs.DataBind()
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > Sub GetParametersButton_Click(ByVal sender As Object, ByVal e As
> EventArgs)
> > Dim ds As New DataSet
> > 'If Wintrusted.checked = True Then
> > ' Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'Else
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";User id=" & Userid.text & _
> > ";Password=" & Password.Text & _
> > ";Initial catalog=" & Database.Text)
> > 'End If
> > Dim cmd As New SqlCommand("sp_sproc_columns", conn) '' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > cmd.CommandType = CommandType.StoredProcedure
> > cmd.Parameters.Add("@.procedure_name", SqlDbType.NVarchar, 390).Value = _
> > SPs.SelectedItem.Value
> > adpt.Fill(ds, "Parameters")
> > ParametersDataGrid.DataSource = ds.Tables("Parameters")
> > ParametersDataGrid.DataBind()
> > ResultsDataGrid.Visible = False
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > Sub AddParameters(ByVal cmd As SqlCommand)
> > 'works ok
> > End Sub
> > Sub UpdateParameters(ByVal cmd As SqlCommand)
> > 'Works Ok
> > End Sub
> > Sub ExecuteQueryButton_Click(ByVal sender As Object, ByVal e As
EventArgs)
> > Dim ds As New DataSet
> > 'If WinTrusted.checked then
> > 'Dim conn As New SqlConnection( _
> > ' "Data source=" & DatabaseServer.Text & _
> > ' ";Trusted_Connection=true" & _
> > ' ";Initial catalog=" & Database.Text)
> > 'else
> > Dim conn As New SqlConnection( _
> > "Data source=" & DatabaseServer.Text & _
> > ";Trusted_Connection=true" & _
> > ";Initial catalog=" & Database.Text)
> > 'end if
> > Dim cmd As New SqlCommand(SPs.SelectedItem.Value, conn) ' ' << when Sub
> > Check_Clicked and the code is run Asp courses an error at this line
saying
> > that "conn" is not defined??
> > Dim adpt As New SqlDataAdapter(cmd)
> > Try
> > Status.Text = ""
> > cmd.CommandType = CommandType.StoredProcedure
> > AddParameters(cmd)
> > adpt.Fill(ds, "Results")
> > UpdateParameters(cmd)
> > ResultsDataGrid.DataSource = ds.Tables("Results")
> > ResultsDataGrid.DataBind()
> > ResultsDataGrid.Visible = True
> > Catch ex As SqlException
> > Status.Text = ex.Message
> > End Try
> > End Sub
> > </script>
> > </HEAD>
> > ----------End of
> > Code--------------

Friday, March 16, 2012

NewPasswordRegularExpression bug in ChangePassword control

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,
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 ws.
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 ws.
>Did you get anything related to this issue?
>D.
>
passwordStrengthRegularExpression="(?=.{8,})(?=(.*\d){2,})(?=(.*\W){1,})"
ge
>
>