Änderungen token generierung erfolgt besser

This commit is contained in:
ja
2021-10-13 13:51:21 +02:00
parent f345d97210
commit 6014061cfd
3 changed files with 84 additions and 73 deletions

View File

@@ -104,18 +104,18 @@
<asp:TextBox ID="txtEmail" runat="server" Width="250px" ValidationGroup="Valtxtemail" Font-Size="1.125em" Text="E-Mail" CssClass="bg-email-icon" style="margin-left:22px;color:#003680" OnClick="this.value='';"/>
<asp:RequiredFieldValidator ID="valreqtxtEmail" ControlToValidate="txtEmail" ValidationGroup="Valtxtemail" runat="server" Text="Require E-Mail Address" ></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ControlToValidate="txtEmail" runat="server" ID="regexval_txt_Email" ValidationGroup="Valtxtemail" ValidationExpression="[\w\.]+\@(\bverag.ag\b)" Display="Dynamic" ErrorMessage="The E-Mail has not the correct domain!" SetFocusOnError="true"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ControlToValidate="txtEmail" runat="server" ID="regexval_txt_Email_2" ValidationGroup="Valtxtemail" ValidationExpression="[\w\.]+\@[\w]+(?:\.[\w]{3}|\.[\w]{2}\.[\w]{2}|\.[\w]{2})\b" Display="Dynamic" ErrorMessage="The E-Mail has not the correct domain!" SetFocusOnError="true"></asp:RegularExpressionValidator>
</td></tr>
<tr style="color:#003680; height:30px;">
<td align="left" colspan="2">
<asp:TextBox ID="txt_Username" runat="server" CssClass="bg-user-icon" ValidationGroup="Valtxtusername" Text="Username" Font-Size="1.125em" Width="250px" style="margin-left:22px;color:#003680" OnClick="this.value='';" />
<asp:RegularExpressionValidator ControlToValidate="txt_Username" runat="server" ID="regexval_txt_Username" ValidationGroup="Valtxtusername" ValidationExpression="^(A-Z]).{4,30}$" Display="Dynamic" ErrorMessage="The Username does not meet the requirements!" SetFocusOnError="true"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ID="check_UserName_regex" ControlToValidate="txt_Username" ValidationGroup="Valtxtusername" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="^([a-zA-Z1]{4,30})$"></asp:RegularExpressionValidator>
</td></tr>
<tr style="color:#003680; height:30px;">
<td align="right" colspan="2">
<asp:Label ID="lblMessage" runat="server" />
</td></tr>
<tr style="color:#003680; height:30px;"><td>
<asp:Button ID="btn_Send" Text="Send" runat="server" Width="330px" Enabled="true" Font-Size="20px" style="margin-left:22px;border:none" OnClick="btn_Send_Click" />
</td></tr>
<tr><td>

View File

@@ -13,18 +13,25 @@ Partial Class login_ForgotPW
End Sub
Protected Sub btn_Send_Click(sender As Object, e As EventArgs)
Dim username As String
Dim password As String
Dim email As String
Dim tokenname As String
Dim username As String = String.Empty
Dim password As String = String.Empty
Dim email As String = String.Empty
Dim tokenname As String = String.Empty
valreqtxtEmail.Validate()
If valreqtxtEmail.IsValid() = True Then
username = txt_Username.Text
password = String.Empty
check_UserName_regex.Validate()
If valreqtxtEmail.IsValid = True Then
email = txtEmail.Text
tokenname = String.Empty
ElseIf valreqtxtEmail.IsValid = False Then
valreqtxtEmail.ErrorMessage = "ANnotation: The given Daomain is not the company domain."
regexval_txt_Email.Validate()
valreqtxtEmail.IsValid = True
End If
If check_UserName_regex.IsValid = True Then
username = txt_Username.Text
Else
check_UserName_regex.ErrorMessage = "No valid Username found!"
End If
If String.IsNullOrEmpty(email) = False AndAlso String.IsNullOrEmpty(tokenname) = True AndAlso String.IsNullOrEmpty(password) = True AndAlso String.IsNullOrEmpty(username) = False Then
'cDBFunctions.GetNewOpenConnection()
Dim ConnectionString = String.Empty
If HttpContext.Current.Request.ServerVariables("SERVER_NAME") = "localhost" Then
@@ -65,6 +72,7 @@ Partial Class login_ForgotPW
End Using
con.Close()
End Using
tokenname = genToken(username, password, email)
Session.Add("TokenforEmail", tokenname)
If SendEmail(username, password, email, tokenname) = True Then
@@ -86,6 +94,9 @@ Partial Class login_ForgotPW
lblMessage.ForeColor = Color.Red
lblMessage.Text = "Diese E-Mail ist nicht in unserer Datenbank vorhanden."
End If
Else
MsgBox("Die Felder sind nicht alle befüllt worden.", MsgBoxStyle.Critical, "Error08")
End If
End Sub
'Function RandomString(r As Random, max As Integer) As String
@@ -131,7 +142,7 @@ Partial Class login_ForgotPW
If getDateoftoken(tokennametemp) = True Then
' Dim attachment As Attachment = New Attachment(File.OpenRead(excel), "Kundenliste.xlsx")
' Msg.Attachments.Add(attachment)
If Not String.IsNullOrEmpty(mailto) AndAlso Not String.IsNullOrEmpty(Betreff) AndAlso String.IsNullOrEmpty(htmlbody) Then
If Not String.IsNullOrEmpty(mailto) AndAlso Not String.IsNullOrEmpty(Betreff) AndAlso Not String.IsNullOrEmpty(htmlbody) Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
Else
MsgBox("Error07: Die Paramter wurden nicht alle gesetzt. Bitte Felder überprüfen.", vbAbort, "Error07")

View File

@@ -128,21 +128,21 @@
<td align="left">
<asp:TextBox ID="CustomerID" CssClass="bg-UID-icon" runat="server" required="true" ValidationGroup="txt_checkUID" OnTextChanged="CustomerID_TextChanged" Width="250" Text="User-ID / E-Mail" OnClick="this.value='';" style="margin-left: 22px;"></asp:TextBox>
<asp:RequiredFieldValidator ID="CustomerIDrequired" runat="server" ControlToValidate="CustomerID" SetFocusOnError="true" ValidationGroup="txt_checkUID" ErrorMessage="Please enter the User-ID."></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="valid_getNumberInput" ControlToValidate="CustomerID" ValidationGroup="txt_checkUID" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="[0-9].{4,10}"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ID="valid_getNumberInput" ControlToValidate="CustomerID" ValidationGroup="txt_checkUID" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="[0-9]{4,10}"></asp:RegularExpressionValidator>
</td>
</tr>
<tr style="color:#003680; height:46px;">
<td align="left" colspan="2">
<asp:TextBox ID="UserName" runat="server" CssClass="bg-user-icon" TextMode="SingleLine" Width = "250" ValidationGroup="txt_Username" required="true" Font-Size="1.125em" style="margin-left:22px;color:#003680" OnClick="this.value='';" Text="Username"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNamerequired" runat="server" ControlToValidate="UserName" ErrorMessage="Please enter the Username." ToolTip="The Username is required." ValidationGroup="txt_Username"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="check_UserName_regex" ControlToValidate="UserName" ValidationGroup="txt_check_username" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="^(A-Z][a-z]).{4,30}$"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ID="check_UserName_regex" ControlToValidate="UserName" ValidationGroup="txt_check_username" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="^([a-zA-Z]{4,30})$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr style="color:#003680; height:46px;">
<td align="left" colspan="2">
<asp:TextBox ID="Password" runat="server" CssClass="bg-key-icon" TextMode="Password" required="true" Width = "250" Font-Size="1.125em" ValidationGroup="chk_PWField" MaxLength="30" AutoCompleteType="Enabled" CausesValidation="true" style="margin-left:22px;color:#003680" OnClick="this.value='';" Text="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="Passwordrequired" runat="server" ControlToValidate="Password" ErrorMessage="Password is needed to authenticate." ToolTip="Please enter the Password." ValidationGroup="chk_PWField"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="checkpwdREGEX" ControlToValidate="Password" ValidationGroup="chk_PWField" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z\d]).{4,35}$"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ID="checkpwdREGEX" ControlToValidate="Password" ValidationGroup="chk_PWField" runat="server" Display="Dynamic" SetFocusOnError="true" ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z\d]){4,35}$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr style="color:#003680; height:23px;">