- im Design der Seite ChangePW.aspx mit Tabelle sowie neubau der Eerrorseite, um zukünftige Errors dort anzeigen zu lassen statt der gelben Seite wo Pfade etc revealt werden könnten. - Reperatur der Prüfungen mit den neu übergebenen bzw den angepassten Variablen in der Codebehind Datei von ChangePW.aspx.vb - Übersetzung der Forgot PW Seite und Krrektur um die neuen Parameter nur temporär zu speichern (verschlüsselt) -
771 lines
58 KiB
VB.net
771 lines
58 KiB
VB.net
Imports System.Net
|
|
Imports System.Net.Mail
|
|
Imports System.Drawing
|
|
Imports System.Configuration
|
|
Imports System.Data.SqlClient
|
|
Imports System.Data
|
|
|
|
Partial Class ForgotPW
|
|
Inherits System.Web.UI.Page
|
|
Dim ConnectionString As String = String.Empty
|
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
|
|
VERAG_VARIABLES.initerrorcount()
|
|
|
|
End Sub
|
|
Protected Sub btn_Back_Click(sender As Object, e As EventArgs)
|
|
Response.Redirect("login_FLEX.aspx")
|
|
End Sub
|
|
|
|
|
|
Protected Sub btn_Send_Click(sender As Object, e As EventArgs)
|
|
Try
|
|
Dim username As String = String.Empty
|
|
Dim password As String = String.Empty
|
|
Dim email As String = String.Empty
|
|
Dim tokenname As String = String.Empty
|
|
Dim customerID As String = String.Empty
|
|
Dim isusrnmright As Boolean = False
|
|
Dim isCustomeridright As Boolean = False
|
|
Dim isemailright As Boolean = False
|
|
Dim UserID As String = String.Empty
|
|
If String.IsNullOrEmpty(txtEmail.Text) = False And String.IsNullOrEmpty(txt_Username.Text) = False And String.IsNullOrEmpty(txt_CustomerID.Text) = False And String.IsNullOrEmpty(txtEmail_M.Text) = True And String.IsNullOrEmpty(txt_Username_M.Text) = True And String.IsNullOrEmpty(txt_CustomerID_M.Text) = True Then
|
|
valreqtxtusername.Enabled = True
|
|
valreqtxtEmail.Enabled = True
|
|
regexval_txt_Email_2.Enabled = True
|
|
regexval_txt_Email.Enabled = True
|
|
check_UserName_regex.Enabled = True
|
|
CustomerIDrequired.Enabled = True
|
|
valid_getNumberInput.Enabled = True
|
|
|
|
regexval_2_txt_Email_M.Enabled = False
|
|
regexval_txt_Email_M.Enabled = False
|
|
valreqtxtEmail_M.Enabled = False
|
|
valreqtxtusername_M.Enabled = False
|
|
check_UserName_regex_M.Enabled = False
|
|
CustomerID_M_required.Enabled = False
|
|
valid_getNumber_M_Input.Enabled = False
|
|
|
|
valreqtxtEmail.Validate()
|
|
If valreqtxtEmail.IsValid = True Then
|
|
regexval_txt_Email.Validate()
|
|
If regexval_txt_Email.IsValid = False Then
|
|
regexval_txt_Email.ForeColor = Drawing.Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(2)
|
|
regexval_txt_Email.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Anmerkung: Die Domäne ist nicht die korrekt hinterlegte."
|
|
regexval_txt_Email_2.Validate()
|
|
If regexval_txt_Email_2.IsValid = True Then
|
|
email = txtEmail.Text
|
|
lblMessage.ForeColor = Drawing.Color.Lime
|
|
lblMessage.Text = "E-mail Addresse ist validiert.."
|
|
End If
|
|
Else
|
|
regexval_txt_Email.Validate()
|
|
If regexval_txt_Email.IsValid = True Then
|
|
lblMessage.ForeColor = Drawing.Color.Lime
|
|
lblMessage.Text = "E-mail Adresse ist korrekt."
|
|
email = txtEmail.Text
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
CustomerIDrequired.Validate()
|
|
If CustomerIDrequired.IsValid = True Then
|
|
valid_getNumberInput.Validate()
|
|
If valid_getNumberInput.IsValid = True Then
|
|
customerID = txt_CustomerID.Text
|
|
Else
|
|
valid_getNumberInput.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(2)
|
|
valid_getNumberInput.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Die Kundennummer ist nicht numerisch oder zu lang."
|
|
End If
|
|
End If
|
|
|
|
valreqtxtusername.Validate()
|
|
If valreqtxtusername.IsValid = True Then
|
|
check_UserName_regex.Validate()
|
|
If check_UserName_regex.IsValid = False Then
|
|
check_UserName_regex.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(3)
|
|
check_UserName_regex.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Der Benutzername ist zu lange."
|
|
isusrnmright = False
|
|
Else
|
|
username = txt_Username.Text
|
|
isusrnmright = True
|
|
check_UserName_regex.ForeColor = Drawing.Color.Lime
|
|
check_UserName_regex.ErrorMessage = "Ein korrekter Benutzername ist eingegeben worden."
|
|
End If
|
|
End If
|
|
Else
|
|
'MsgBox("The form has not been filled completeley.", MsgBoxStyle.Critical, "Error08")
|
|
lblMessage.ForeColor = Color.Red
|
|
VERAG_VARIABLES.seterrorcount(8)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Das Formular muss vollständig ausgefüllt werden."
|
|
End If
|
|
|
|
'Erweiterte Degub Msg-Box
|
|
'MsgBox("Userdaten in App" + Environment.NewLine + email + Environment.NewLine + username + Environment.NewLine + "Userdaten desktop" + txt_Username.Text + Environment.NewLine + txtEmail.Text + Environment.NewLine + "Userdaten Mobil:" + Environment.NewLine + txtEmail_M.Text + Environment.NewLine + txt_Username_M.Text)
|
|
If String.IsNullOrEmpty(email) = False And String.IsNullOrEmpty(tokenname) = True And String.IsNullOrEmpty(password) = True And String.IsNullOrEmpty(username) = False And String.IsNullOrEmpty(customerID) = False Then
|
|
If HttpContext.Current.Request.ServerVariables("SERVER_NAME") = "localhost" Then
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
|
|
'ConnectionString = "Server=DEVELOPER\DEVSQL;Database=VERAG_HOMEPAGE;Uid=sa;Pwd=BmWr501956"
|
|
ConnectionString = "Server=DEVELOPER\DEVSQL;Database=VERAG_HOMEPAGE;Uid=AppUser;Pwd=yp/THDd?xM+pZ$;"
|
|
Else
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
|
ConnectionString = "Server=DEVELOPER.verag.ost.dmn\DEVSQL;Database=VERAG_HOMEPAGE;Uid=AppUser;Pwd=yp/THDd?xM+pZ$;"
|
|
'ConnectionString = "Server=db593295684.db.1and1.com;Database=db593295684;Uid=dbo593295684;Pwd=atilla#2;"
|
|
End If
|
|
|
|
Using con As New SqlConnection(ConnectionString)
|
|
' Using cmd As New SqlCommand("Validate_User")
|
|
Using cmd As New SqlCommand("SELECT UserId,Username,Password,Email,KundenNr FROM [VERAG_HOMEPAGE].[dbo].[Users] WHERE Username=@Username AND Email=@Email AND KundenNr=@CUSTOMERId")
|
|
' cmd.CommandType = CommandType.StoredProcedure
|
|
cmd.Parameters.AddWithValue("@Username", username)
|
|
cmd.Parameters.AddWithValue("@Email", email)
|
|
cmd.Parameters.AddWithValue("@CUSTOMERId", customerID)
|
|
cmd.Connection = con
|
|
con.Open()
|
|
'userId = Convert.ToInt32(cmd.ExecuteScalar())
|
|
Dim dr As SqlDataReader = cmd.ExecuteReader()
|
|
If dr.Read() Then
|
|
username = dr("Username").ToString()
|
|
password = dr("Password").ToString()
|
|
email = dr("Email").ToString()
|
|
customerID = dr("KundenNr").ToString()
|
|
UserID = dr("UserId").ToString()
|
|
|
|
Try
|
|
If txt_Username.Text = dr("Username").ToString() AndAlso String.IsNullOrEmpty(txt_Username_M.Text) = True And String.IsNullOrEmpty(customerID) = False And String.IsNullOrEmpty(UserID) = False Then
|
|
username = txt_Username.Text
|
|
isusrnmright = True
|
|
ElseIf String.IsNullOrEmpty(txt_Username.Text) = True Then
|
|
check_UserName_regex.MatchTimeout = 3000
|
|
VERAG_VARIABLES.seterrorcount(5)
|
|
check_UserName_regex.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Kein passender Benutzername wurde in der Datenbank gefunden!"
|
|
isusrnmright = False
|
|
Try
|
|
check_UserName_regex.Validate()
|
|
Catch
|
|
isusrnmright = False
|
|
End Try
|
|
End If
|
|
If (txtEmail.Text = dr("Email").ToString() AndAlso String.IsNullOrEmpty(txtEmail_M.Text) = True) And String.IsNullOrEmpty(UserID) = False Then
|
|
email = txtEmail.Text
|
|
lblMessage.ForeColor = Color.Green
|
|
isemailright = True
|
|
lblMessage.Text = "Die Email besteht in der Datenbank."
|
|
ElseIf String.IsNullOrEmpty(email) = True Then
|
|
lblMessage.ForeColor = Color.Red
|
|
isemailright = False
|
|
VERAG_VARIABLES.seterrorcount(6)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Die eingegebene E-Mail passt nicht zum Datenbankeintrag. Bitte erneut versuchen."
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
isemailright = False
|
|
VERAG_VARIABLES.seterrorcount(7)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Die E-Mail existiert in unserer Datenbank nicht."
|
|
End If
|
|
If (txt_CustomerID.Text = dr("KundenNr").ToString() AndAlso String.IsNullOrEmpty(txt_CustomerID_M.Text) = True) And String.IsNullOrEmpty(UserID) = False Then
|
|
customerID = txt_CustomerID.Text
|
|
lblMessage.ForeColor = Color.Green
|
|
isCustomeridright = True
|
|
ElseIf String.IsNullOrEmpty(customerID) = True Then
|
|
lblMessage_M.ForeColor = Color.Red
|
|
isCustomeridright = False
|
|
VERAG_VARIABLES.seterrorcount(9)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Die einegebene Nutzernummer steht nicht in unserer Datenbank."
|
|
Else
|
|
lblMessage.ForeColor = Color.Red
|
|
isCustomeridright = False
|
|
VERAG_VARIABLES.seterrorcount(8)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Die Nutzernummer ist nicht in der Datenbank vorhanden."
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_VARIABLES.seterrorcount(408)
|
|
Title = VERAG_VARIABLES.geterrornumb() + "Authentifizierungs-Fehler!"
|
|
'MsgBox(Msg, Style, Title)
|
|
'If MsgBox(Msg, Style, Title).Yes Then
|
|
'txtEmail.Text = String.Empty
|
|
'txtEmail.Focus()
|
|
'ElseIf MsgBox(Msg, Style, Title).No Then
|
|
'End If
|
|
End Try
|
|
End If
|
|
End Using
|
|
con.Close()
|
|
End Using
|
|
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, isCustomeridright, isemailright, Session.IsNewSession, UserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Session.Add("SessID", VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(Session.SessionID))
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail")
|
|
End If
|
|
|
|
If SendEmail(username, password, email, tokenname, customerID, isusrnmright, isCustomeridright, isemailright, Session.IsNewSession, UserID) = True Then
|
|
'password = RandomString(New Random, 10)
|
|
If (getDateoftoken(tokenname) = True) Then
|
|
'Dim msgboxstyle = vbDefaultButton1 + vbOK
|
|
'MsgBox(tokenname, msgboxstyle)
|
|
lblMessage.ForeColor = Color.Green
|
|
lblMessage.Text = "Token Generierung erfolgreich."
|
|
'MsgBox("Token generated successfully.")
|
|
Else
|
|
lblMessage.ForeColor = Color.Red
|
|
VERAG_VARIABLES.seterrorcount(14)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Der Token ist nicht aktuell genug oder liegt zu weit in der Vergangenheit. Bitte neuen generieren lassen mit einer neuen E-Mail."
|
|
'MsgBox("Token is not valid anymore. Please generate a new one by sending a new e-mail!")
|
|
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, isCustomeridright, isemailright, Session.IsNewSession, UserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail")
|
|
End If
|
|
End If
|
|
'SendEmail(username, password, email)
|
|
'MsgBox("Mail would be sent successfully!")
|
|
lblMessage.ForeColor = Color.Green
|
|
lblMessage.Text = "Das Passwort wurde erfolgreich an die hinterlegte E-Mail gesendet. Bitte prüfen Sie den Posteingang sowie den Spam-Ordner."
|
|
ElseIf SendEmail(username, password, email, tokenname, customerID, isusrnmright, isCustomeridright, isemailright, Session.IsNewSession, UserID) = True Then
|
|
'MsgBox("Mail would not be sent successfully!")
|
|
lblMessage.ForeColor = Color.Red
|
|
If String.IsNullOrWhiteSpace(username) = True Then
|
|
VERAG_VARIABLES.seterrorcount(10)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Benutzername wurde nicht erkannt!"
|
|
ElseIf String.IsNullOrWhiteSpace(email) = True Then
|
|
lblMessage.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(11)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Email: Fehler bei der Erkennung!"
|
|
ElseIf String.IsNullOrWhiteSpace(password) = True Then
|
|
lblMessage.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(12)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Ein interner Passwort-Suchfehler ist leider aufgetreten." + Environment.NewLine + "Bitte setzten Sie sich mit einem Admin in Verbindung ."
|
|
End If
|
|
End If
|
|
Else
|
|
lblMessage.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(13)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Datenbankverbindungsfehler." + Environment.NewLine + "Bitte den Admin kontaktieren."
|
|
End If
|
|
Catch Exc As Exception
|
|
lblMessage.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(8)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "No input found." + Environment.NewLine + Exc.Message
|
|
End Try
|
|
End Sub
|
|
|
|
Protected Sub btn_Send_M_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim username As String = String.Empty
|
|
Dim password As String = String.Empty
|
|
Dim email As String = String.Empty
|
|
Dim tokenname As String = String.Empty
|
|
Dim customerID As String = String.Empty
|
|
Dim UserID As String = String.Empty
|
|
Dim isusernameright As Boolean = False
|
|
Dim isuserIDright As Boolean = False
|
|
Dim isuserEmailright As Boolean = False
|
|
'Mobil
|
|
If String.IsNullOrEmpty(txtEmail_M.Text) = False And String.IsNullOrEmpty(txt_Username_M.Text) = False And String.IsNullOrEmpty(txt_CustomerID_M.Text) = False And String.IsNullOrEmpty(txtEmail.Text) = True And String.IsNullOrEmpty(txt_Username.Text) = True And String.IsNullOrEmpty(txt_CustomerID.Text) = True Then
|
|
valreqtxtusername.Enabled = False
|
|
valreqtxtEmail.Enabled = False
|
|
regexval_txt_Email_2.Enabled = False
|
|
regexval_txt_Email.Enabled = False
|
|
check_UserName_regex.Enabled = False
|
|
CustomerIDrequired.Enabled = False
|
|
valid_getNumberInput.Enabled = False
|
|
|
|
regexval_2_txt_Email_M.Enabled = True
|
|
regexval_txt_Email_M.Enabled = True
|
|
valreqtxtEmail_M.Enabled = True
|
|
valreqtxtusername_M.Enabled = True
|
|
check_UserName_regex_M.Enabled = True
|
|
CustomerID_M_required.Enabled = True
|
|
valid_getNumber_M_Input.Enabled = True
|
|
|
|
valreqtxtEmail_M.Validate()
|
|
If valreqtxtEmail_M.IsValid = True Then
|
|
regexval_txt_Email_M.Validate()
|
|
If regexval_txt_Email_M.IsValid = True Then
|
|
regexval_txt_Email_M.ForeColor = Drawing.Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(15)
|
|
regexval_txt_Email_M.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Die Kundennummer ist nicht numerisch oder zu lang."
|
|
regexval_2_txt_Email_M.Validate()
|
|
If regexval_2_txt_Email_M.IsValid = True Then
|
|
email = txtEmail_M.Text
|
|
lblMessage_M.ForeColor = Drawing.Color.Lime
|
|
lblMessage_M.Text = "E-Mail Adresse ist validiert.."
|
|
End If
|
|
Else
|
|
regexval_txt_Email.Validate()
|
|
If regexval_2_txt_Email_M.IsValid = True Then
|
|
lblMessage_M.ForeColor = Drawing.Color.Lime
|
|
lblMessage_M.Text = "E-Mail Adresse ist korrekt."
|
|
email = txtEmail_M.Text
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
CustomerID_M_required.Validate()
|
|
If CustomerID_M_required.IsValid = True Then
|
|
valid_getNumber_M_Input.Validate()
|
|
If valid_getNumber_M_Input.IsValid = True Then
|
|
customerID = txt_CustomerID_M.Text
|
|
Else
|
|
lblMessage_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(16)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Die Benutzerkennung ist zu lange oder ungültig."
|
|
End If
|
|
End If
|
|
|
|
valreqtxtusername_M.Validate()
|
|
If valreqtxtusername_M.IsValid = True Then
|
|
check_UserName_regex_M.Validate()
|
|
If check_UserName_regex_M.IsValid = False Then
|
|
check_UserName_regex_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(17)
|
|
check_UserName_regex_M.ErrorMessage = VERAG_VARIABLES.geterrornumb + "Der Benutzername ist zu lang."
|
|
Else
|
|
username = txt_Username_M.Text
|
|
lblMessage_M.ForeColor = Drawing.Color.Lime
|
|
lblMessage_M.Text = "Ein korrekter Benutzername ist eingegeben worden."
|
|
End If
|
|
End If
|
|
Else
|
|
'MsgBox("The form has not been filled completeley.", MsgBoxStyle.Critical, "Error08")
|
|
lblMessage_M.ForeColor = Color.Red
|
|
VERAG_VARIABLES.seterrorcount(8)
|
|
lblMessage_M.Text = "Error 08. The form has not been filled completeley."
|
|
End If
|
|
|
|
'Erweiterte Degub Msg-Box
|
|
'MsgBox("Userdaten in App" + Environment.NewLine + email + Environment.NewLine + username + Environment.NewLine + "Userdaten desktop" + txt_Username.Text + Environment.NewLine + txtEmail.Text + Environment.NewLine + "Userdaten Mobil:" + Environment.NewLine + txtEmail_M.Text + Environment.NewLine + txt_Username_M.Text)
|
|
If String.IsNullOrEmpty(tokenname) = True And String.IsNullOrEmpty(password) = True Then
|
|
If HttpContext.Current.Request.ServerVariables("SERVER_NAME") = "localhost" Then
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
|
|
'ConnectionString = "Server=DEVELOPER\DEVSQL;Database=VERAG_HOMEPAGE;Uid=sa;Pwd=BmWr501956"
|
|
ConnectionString = "Server=DEVELOPER\DEVSQL;Database=VERAG_HOMEPAGE;Uid=AppUser;Pwd=yp/THDd?xM+pZ$;"
|
|
Else
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
|
ConnectionString = "Server=DEVELOPER.verag.ost.dmn\DEVSQL;Database=VERAG_HOMEPAGE;Uid=AppUser;Pwd=yp/THDd?xM+pZ$;"
|
|
'ConnectionString = "Server=db593295684.db.1and1.com;Database=db593295684;Uid=dbo593295684;Pwd=atilla#2;"
|
|
End If
|
|
|
|
Using con As New SqlConnection(ConnectionString)
|
|
' Using cmd As New SqlCommand("Validate_User")
|
|
Using cmd As New SqlCommand("SELECT Username,Password,Email,KundenNr,UserId FROM [VERAG_HOMEPAGE].[dbo].[Users] WHERE Username=@Username AND Email=@Email AND KundenNr=@CUSTOMERId")
|
|
' cmd.CommandType = CommandType.StoredProcedure
|
|
cmd.Parameters.AddWithValue("@Username", username)
|
|
cmd.Parameters.AddWithValue("@Email", email)
|
|
cmd.Parameters.AddWithValue("@CUSTOMERId", customerID)
|
|
cmd.Connection = con
|
|
con.Open()
|
|
'userId = Convert.ToInt32(cmd.ExecuteScalar())
|
|
Dim dr As SqlDataReader = cmd.ExecuteReader()
|
|
If dr.Read() Then
|
|
username = dr("Username").ToString()
|
|
password = dr("Password").ToString()
|
|
email = dr("Email").ToString()
|
|
customerID = dr("KundenNr").ToString()
|
|
UserID = dr("UserId").ToString()
|
|
Try
|
|
If (txt_CustomerID_M.Text = dr("KundenNr").ToString() AndAlso String.IsNullOrEmpty(txt_CustomerID.Text) = True) And String.IsNullOrEmpty(customerID) = False And String.IsNullOrEmpty(UserID) = False Then
|
|
customerID = txt_CustomerID_M.Text
|
|
lblMessage_M.ForeColor = Color.Green
|
|
isuserIDright = True
|
|
lblMessage_M.Text = "The given Customer-ID exists in our database."
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
isuserIDright = False
|
|
VERAG_VARIABLES.seterrorcount(18)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "The given Customer-ID does not exist in our database."
|
|
Return
|
|
End If
|
|
Catch ex As Exception
|
|
Dim Msg, Style, Title As String
|
|
Msg = "Customer-ID validation failed!" & vbCrLf + "Please try again!"
|
|
Style = vbRetry + vbExclamation + vbDefaultButton1
|
|
Title = "Authentication error!"
|
|
End Try
|
|
Try
|
|
If (txtEmail_M.Text = dr("Email").ToString() AndAlso String.IsNullOrEmpty(txtEmail.Text) = True) And String.IsNullOrEmpty(customerID) = False Then
|
|
email = txtEmail_M.Text
|
|
isuserEmailright = True
|
|
lblMessage_M.ForeColor = Color.Green
|
|
lblMessage_M.Text = "The given e-mail exists in our database."
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
isuserEmailright = False
|
|
VERAG_VARIABLES.seterrorcount(19)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "The given E-Mail does not exist in our database."
|
|
Return
|
|
End If
|
|
Catch ex As Exception
|
|
Dim Msg, Style, Title As String
|
|
Msg = "E-Mail validation failed!" & vbCrLf + "Please try again!"
|
|
Style = vbRetry + vbExclamation + vbDefaultButton1
|
|
Title = "Authentication error!"
|
|
End Try
|
|
Try
|
|
If (txt_Username_M.Text = dr("Username").ToString() AndAlso String.IsNullOrEmpty(txt_Username.Text) = True) And String.IsNullOrEmpty(customerID) = False Then
|
|
username = txt_Username_M.Text
|
|
lblMessage_M.ForeColor = Color.Green
|
|
isusernameright = True
|
|
lblMessage_M.Text = "The given Username exists in our database."
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
isusernameright = False
|
|
VERAG_VARIABLES.seterrorcount(20)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "The given Username does not exist in our database."
|
|
End If
|
|
Catch ex As Exception
|
|
Dim Msg, Style, Title As String
|
|
Msg = "Username validation failed!" & vbCrLf + "Please try again!"
|
|
Style = vbRetry + vbExclamation + vbDefaultButton1
|
|
Title = "Authentication error!"
|
|
End Try
|
|
End If
|
|
End Using
|
|
con.Close()
|
|
End Using
|
|
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusernameright, isuserIDright, isuserEmailright, Session.IsNewSession, UserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Session.Add("SessID", VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(Session.SessionID))
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail")
|
|
End If
|
|
|
|
If SendEmail_M(username, password, email, tokenname, customerID, isusernameright, isuserIDright, isuserEmailright, Session.IsNewSession, UserID) = True Then
|
|
'password = RandomString(New Random, 10)
|
|
If (getDateoftoken(tokenname) = True) Then
|
|
'Dim msgboxstyle = vbDefaultButton1 + vbOK
|
|
'MsgBox(tokenname, msgboxstyle)
|
|
lblMessage_M.ForeColor = Color.Green
|
|
lblMessage_M.Text = "Token generated successfully."
|
|
'MsgBox("Token generated successfully.")
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
VERAG_VARIABLES.seterrorcount(100)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Token is not valid anymore. Please generate a new one by sending a new e-mail!"
|
|
'MsgBox("Token is not valid anymore. Please generate a new one by sending a new e-mail!")
|
|
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusernameright, isuserIDright, isuserEmailright, Session.IsNewSession, UserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail")
|
|
End If
|
|
End If
|
|
'SendEmail(username, password, email)
|
|
'MsgBox("Mail would be sent successfully!")
|
|
lblMessage_M.ForeColor = Color.Green
|
|
lblMessage_M.Text = "The password has been sent sucessfully on the given valid e-mail address."
|
|
ElseIf SendEmail_M(username, password, email, tokenname, customerID, isusernameright, isuserIDright, isuserEmailright, Session.IsNewSession, UserID) = True Then
|
|
'MsgBox("Mail would not be sent successfully!")
|
|
lblMessage_M.ForeColor = Color.Red
|
|
If String.IsNullOrWhiteSpace(username) = True Then
|
|
lblMessage_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(10)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Username not recognized Error!"
|
|
ElseIf String.IsNullOrWhiteSpace(email) = True Then
|
|
lblMessage_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(11)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Email not recognized Error!"
|
|
ElseIf String.IsNullOrWhiteSpace(password) = True Then
|
|
lblMessage_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(12)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "An internal password searching error occured in our systems ."
|
|
End If
|
|
End If
|
|
Else
|
|
lblMessage_M.ForeColor = Drawing.Color.Red
|
|
VERAG_VARIABLES.seterrorcount(15)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Error with Database or the connection." + Environment.NewLine + "Please contact the admin."
|
|
End If
|
|
End Sub
|
|
|
|
Function SendEmail_M(username As String, password As String, email As String, tokenname As String, customerID As String, isusrnmright As Boolean, iscstmIDright As Boolean, isemailright As Boolean, sessionisnew As Boolean, theUserID As String) As Boolean
|
|
Dim getdomianenvironment As String = String.Empty
|
|
Dim pagename As String = String.Empty
|
|
Dim ServPort As String = String.Empty
|
|
Dim mailto As String = String.Empty
|
|
Dim Betreff As String = String.Empty
|
|
Dim htmlbody As String = String.Empty
|
|
Dim emailnr = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID.ToString
|
|
If isusrnmright = True And iscstmIDright = True AndAlso isemailright = True And sessionisnew = False AndAlso String.IsNullOrEmpty(theUserID) = False And String.IsNullOrEmpty(customerID) = False Then
|
|
If HttpContext.Current.Request.ServerVariables("SERVER_NAME") = "localhost" Then
|
|
'MsgBox(getdomianenvironment)
|
|
getdomianenvironment = HttpContext.Current.Request.ServerVariables("SERVER_NAME")
|
|
ServPort = ":" + Request.ServerVariables("SERVER_PORT")
|
|
'pagename = Request.ServerVariables("SCRIPT_NAME")
|
|
mailto = email
|
|
Betreff = "Passwort reset"
|
|
Dim mailpic As String = "<image src=" + "../images/VERAG_AEO_MailSig.jpg" + ">"
|
|
Dim Ausschusstext As String = "Wir arbeiten ausschließlich auf Grund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten, Spesen"
|
|
Dim Ausschusstext2 As String = "und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding oder Ried. Steuer-Zoll-und Tarifauskünfte sind unverbindlich."
|
|
Dim Ausschusstext3 As String = "We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially"
|
|
Dim Ausschusstext4 As String = "charged on freight, fees and interests and at last on customs duties. The place of jurisdiction: Schärding / Ried. Tax, customs and tariff information are not binding."
|
|
htmlbody = String.Format("Dear {0},<br /><br /> Please follow the Link to reset your password:<br /><br />" + Environment.NewLine + "<a runat=" + "server" + " href=http://" + getdomianenvironment + ServPort + "/login/Change_PW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + ">http://" + getdomianenvironment + ServPort + "/login/ChangePW.aspx?Par1=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(tokenname) + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + "</a>" + Environment.NewLine + "<br /><br />Notice:<br /><span style='color: #043381;font-size:14px'><i>The Link is valid for 30 minutes until" + Space(1) + Date.Now.AddMinutes(30).ToString() + Space(1) + "only!</i></span><br / ><br /><br />Kind regards, <br /><span style='color: #043381'><b>VERAG | EDV Support</b></span><br /><span>" + mailpic + "</span><br /><span style='color: #043381'>VERAG Spedition AG | A 4975 Suben, Nr. 100</span><br /><span style='color: #043381'>T.<a href='tel:+43 7711 2777-xx'>+43 7711 2777-xx</a> |<a href='mailto:@support@verag.ag'>support@verag.ag</a> |" + emailnr + "FN xxxxxxx</span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext2 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext3 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext4 + "</i></span><br />", username, password)
|
|
ElseIf String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables("SERVER_NAME")) = False Then
|
|
getdomianenvironment = HttpContext.Current.Request.ServerVariables("SERVER_NAME")
|
|
'MsgBox(getdomianenvironment)
|
|
ServPort = ":" + Request.ServerVariables("SERVER_PORT")
|
|
'pagename = Request.ServerVariables("SCRIPT_NAME")
|
|
mailto = email
|
|
Betreff = "Passwort reset"
|
|
Dim mailpic As String = "<image src=" + "../images/VERAG_AEO_MailSig.jpg" + ">"
|
|
Dim Ausschusstext As String = "Wir arbeiten ausschließlich auf Grund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten, Spesen"
|
|
Dim Ausschusstext2 As String = "und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding oder Ried. Steuer-Zoll-und Tarifauskünfte sind unverbindlich."
|
|
Dim Ausschusstext3 As String = "We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially"
|
|
Dim Ausschusstext4 As String = "charged on freight, fees and interests and at last on customs duties. The place of jurisdiction: Schärding / Ried. Tax, customs and tariff information are not binding."
|
|
htmlbody = String.Format("Dear {0},<br /><br /> Please follow the Link to reset your password:<br /><br />" + Environment.NewLine + "<a runat=" + "server" + " href=http://" + getdomianenvironment + "/login/Change_PW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + ">http://" + getdomianenvironment + ServPort + "/login/ChangePW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + "</a>" + Environment.NewLine + "<br /><br />Notice:<br /><span style='color: #043381;font-size:14px'><i>The Link is valid for 30 minutes until" + Space(1) + Date.Now.AddMinutes(30).ToString() + Space(1) + "only!</i></span><br / ><br />Kind regards, <br /><span style='color: #043381'><b>VERAG | EDV Support</b></span><br /><span>" + mailpic + "</span><br /><span style='color: #043381'>VERAG Spedition AG | A 4975 Suben, Nr. 100</span><br /><span style='color: #043381'>T.<a href='tel:+43 7711 2777-xx'>+43 7711 2777-xx</a> |<a href='mailto:@support@verag.ag'>support@verag.ag</a> | " + emailnr + "FN xxxxxxx</span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext2 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext3 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext4 + "</i></span><br />", username, password)
|
|
ElseIf String.IsNullOrWhiteSpace(HttpContext.Current.Request.ServerVariables("SERVER_NAME")) = True Then
|
|
'MsgBox("Error09:" + Environment.NewLine + "The Domain could not be vaildated. Check Link please or contact the Administrator of the program.")
|
|
lblMessage_M.ForeColor = Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(9)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb() + Environment.NewLine + "The Domain could not be vaildated. Check the Link please or contact the Administrator of the program."
|
|
End If
|
|
'Dim pg As String = Request.ServerVariables("URL")
|
|
'MsgBox("/" + ServPort + Request.ServerVariables("URL"))
|
|
|
|
Try
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail").ToString()
|
|
End If
|
|
'Dim Strtemp = Session.Keys.Item("urltochangepw")
|
|
If getDateoftoken(tokenname) = True Then
|
|
' Dim attachment As Attachment = New Attachment(File.OpenRead(excel), "Kundenliste.xlsx")
|
|
' Msg.Attachments.Add(attachment)
|
|
If String.IsNullOrEmpty(mailto) = False AndAlso String.IsNullOrEmpty(Betreff) = False AndAlso String.IsNullOrEmpty(htmlbody) = False Then
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
|
|
Else
|
|
'MsgBox("Error07: Die Paramter wurden nicht alle gesetzt. Bitte Felder überprüfen.", vbAbort, "Error07")
|
|
lblMessage_M.ForeColor = Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(7)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Die Paramter wurden nicht alle gesetzt. Bitte Felder überprüfen!"
|
|
End If
|
|
lblMessage_M.ForeColor = Color.Green
|
|
lblMessage_M.Text = "Success" + Environment.NewLine + " Mail sent. Please check your inbox."
|
|
'MsgBox("SENT")
|
|
Return True
|
|
Else
|
|
lblMessage_M.ForeColor = Color.Red
|
|
VERAG_VARIABLES.seterrorcount(2)
|
|
lblMessage_M.Text = VERAG_VARIABLES.geterrornumb + "Mail not delivered!"
|
|
'MsgBox("Error02: Mail not delivered!" & vbCrLf & "New Token has been generated.")
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Session.Add("USerID", customerID)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail").ToString()
|
|
End If
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
'MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
|
|
End Try
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Function SendEmail(username As String, password As String, email As String, tokenname As String, customerID As String, isusrnmright As Boolean, iscstmIDright As Boolean, isemailright As Boolean, sessionisnew As Boolean, theUserID As String) As Boolean
|
|
Dim getdomianenvironment As String = String.Empty
|
|
Dim pagename As String = String.Empty
|
|
Dim ServPort As String = String.Empty
|
|
Dim mailto As String = String.Empty
|
|
Dim Betreff As String = String.Empty
|
|
Dim htmlbody As String = String.Empty
|
|
Dim emailnr = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID.ToString
|
|
If isusrnmright = True And iscstmIDright = True AndAlso isemailright = True And sessionisnew = False AndAlso String.IsNullOrEmpty(theUserID) = False And String.IsNullOrEmpty(customerID) = False Then
|
|
If HttpContext.Current.Request.ServerVariables("SERVER_NAME") = "localhost" Then
|
|
'MsgBox(getdomianenvironment)
|
|
getdomianenvironment = HttpContext.Current.Request.ServerVariables("SERVER_NAME")
|
|
ServPort = ":" + Request.ServerVariables("SERVER_PORT")
|
|
'pagename = Request.ServerVariables("SCRIPT_NAME")
|
|
mailto = email
|
|
Betreff = "VERAG Spedition Dein Passwort zurücksetzen"
|
|
Dim mailpic As String = "<image src=" + "../images/VERAG_AEO_MailSig.jpg" + ">"
|
|
Dim Ausschusstext As String = "Wir arbeiten ausschließlich auf Grund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten, Spesen"
|
|
Dim Ausschusstext2 As String = "und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding oder Ried. Steuer-Zoll-und Tarifauskünfte sind unverbindlich."
|
|
Dim Ausschusstext3 As String = "We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially"
|
|
Dim Ausschusstext4 As String = "charged on freight, fees and interests and at last on customs duties. The place of jurisdiction: Schärding / Ried. Tax, customs and tariff information are not binding."
|
|
htmlbody = String.Format("Dear {0},<br /><br /> Please follow the Link to reset your password:<br /><br />" + Environment.NewLine + "<a runat=" + "server" + " href=http://" + getdomianenvironment + ServPort + "/login/Change_PW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + ">http://" + getdomianenvironment + ServPort + "/login/ChangePW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + "</a>" + Environment.NewLine + "<br /><br />Notice:<br /><span style='color: #043381;font-size:14px'><i>The Link is valid for 30 minutes until" + Space(1) + Date.Now.AddMinutes(30).ToString() + Space(1) + "only!</i></span><br / ><br /><br />Kind regards, <br /><span style='color: #043381'><b>VERAG | EDV Support</b></span><br /><span>" + mailpic + "</span><br /><span style='color: #043381'>VERAG Spedition AG | A 4975 Suben, Nr. 100</span><br /><span style='color: #043381'>T.<a href='tel:+43 7711 2777-xx'>+43 7711 2777-xx</a> |<a href='mailto:@support@verag.ag'>support@verag.ag</a> |" + emailnr + "FN xxxxxxx</span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext2 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext3 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext4 + "</i></span><br />", username, password)
|
|
ElseIf String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables("SERVER_NAME")) = False Then
|
|
getdomianenvironment = HttpContext.Current.Request.ServerVariables("SERVER_NAME")
|
|
'MsgBox(getdomianenvironment)
|
|
ServPort = ":" + Request.ServerVariables("SERVER_PORT")
|
|
'pagename = Request.ServerVariables("SCRIPT_NAME")
|
|
mailto = email
|
|
Betreff = "VERAG Spedition Dein Passwort zurücksetzen"
|
|
Dim mailpic As String = "<image src=" + "../images/VERAG_AEO_MailSig.jpg" + ">"
|
|
Dim Ausschusstext As String = "Wir arbeiten ausschließlich auf Grund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten, Spesen"
|
|
Dim Ausschusstext2 As String = "und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding oder Ried. Steuer-Zoll-und Tarifauskünfte sind unverbindlich."
|
|
Dim Ausschusstext3 As String = "We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially"
|
|
Dim Ausschusstext4 As String = "charged on freight, fees and interests and at last on customs duties. The place of jurisdiction: Schärding / Ried. Tax, customs and tariff information are not binding."
|
|
htmlbody = String.Format("Dear {0},<br /><br /> Please follow the Link to reset your password:<br /><br />" + Environment.NewLine + "<a runat=" + "server" + " href=http://" + getdomianenvironment + "/login/Change_PW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + ">http://" + getdomianenvironment + ServPort + "/login/ChangePW.aspx?Par1=" + tokenname + "&Par2=" + VERAG_PROG_ALLGEMEIN.cCryptography.Encrypt(username) + "&Par3=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt(customerID) + "&Mob=" + VERAG_PROG_ALLGEMEIN.cCryptography2.Encrypt("False") + "&Par4=" + VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(theUserID) + "</a>" + Environment.NewLine + "<br /><br />Notice:<br /><span style='color: #043381;font-size:14px'><i>The Link is valid for 30 minutes until" + Space(1) + Date.Now.AddMinutes(30).ToString() + Space(1) + "only!</i></span><br / ><br />Kind regards, <br /><span style='color: #043381'><b>VERAG | EDV Support</b></span><br /><span>" + mailpic + "</span><br /><span style='color: #043381'>VERAG Spedition AG | A 4975 Suben, Nr. 100</span><br /><span style='color: #043381'>T.<a href='tel:+43 7711 2777-xx'>+43 7711 2777-xx</a> |<a href='mailto:@support@verag.ag'>support@verag.ag</a> | " + emailnr + "FN xxxxxxx</span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext2 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext3 + "</i></span><br /><span style='color: #043381;font-size:12px'><i>" + Ausschusstext4 + "</i></span><br />", username, password)
|
|
ElseIf String.IsNullOrWhiteSpace(HttpContext.Current.Request.ServerVariables("SERVER_NAME")) = True Then
|
|
'MsgBox("Error09:" + Environment.NewLine + "The Domain could not be vaildated. Check Link please or contact the Administrator of the program.")
|
|
lblMessage.ForeColor = Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(9)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + Environment.NewLine + "The Domain could not be vaildated. Check the Link please or contact the Administrator of the program."
|
|
End If
|
|
'Dim pg As String = Request.ServerVariables("URL")
|
|
'MsgBox("/" + ServPort + Request.ServerVariables("URL"))
|
|
|
|
Try
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail").ToString()
|
|
End If
|
|
'Dim Strtemp = Session.Keys.Item("urltochangepw")
|
|
If getDateoftoken(tokenname) = True Then
|
|
' Dim attachment As Attachment = New Attachment(File.OpenRead(excel), "Kundenliste.xlsx")
|
|
' Msg.Attachments.Add(attachment)
|
|
If String.IsNullOrEmpty(mailto) = False AndAlso String.IsNullOrEmpty(Betreff) = False AndAlso String.IsNullOrEmpty(htmlbody) = False Then
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
|
|
Else
|
|
'MsgBox("Error07: Die Paramter wurden nicht alle gesetzt. Bitte Felder überprüfen.", vbAbort, "Error07")
|
|
lblMessage.ForeColor = Color.OrangeRed
|
|
VERAG_VARIABLES.seterrorcount(7)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "Die Paramter wurden nicht alle gesetzt. Bitte Felder überprüfen!"
|
|
End If
|
|
lblMessage.ForeColor = Color.Green
|
|
lblMessage.Text = "Success" + Environment.NewLine + " Mail sent. Please check your inbox."
|
|
'MsgBox("SENT")
|
|
Return True
|
|
Else
|
|
lblMessage.ForeColor = Color.Red
|
|
lblMessage.Text = "Error02: Mail not delivered!"
|
|
'MsgBox("Error02: Mail not delivered!" & vbCrLf & "New Token has been generated.")
|
|
If Session.Item("TokenforEmail") = Nothing Then
|
|
tokenname = genToken(username, password, email, customerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID)
|
|
Session.Add("TokenforEmail", tokenname)
|
|
Session.Add("USerID", customerID)
|
|
Else
|
|
tokenname = Session.Item("TokenforEmail").ToString()
|
|
End If
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
'MsgBox(Err.Number & ex.Message & ex.StackTrace.ToString) 'Falls ein Fehler auftritt wird eine MsgBox angezeigt
|
|
VERAG_VARIABLES.seterrorcount(12)
|
|
lblMessage.Text = VERAG_VARIABLES.geterrornumb + "No Token could be generated! Try to contact the admin."
|
|
End Try
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Function genToken(username As String, password As String, email As String, CustomerID As String, isusrnmright As Boolean, iscstmIDright As Boolean, isemailright As Boolean, isnewSession As Boolean, theUserID As String) As String
|
|
If isnewSession = False Then
|
|
Dim time() As Byte = BitConverter.GetBytes(DateTime.UtcNow.ToBinary())
|
|
Dim Key() As Byte = Guid.NewGuid().ToByteArray()
|
|
Dim token As String
|
|
If isusrnmright = True And iscstmIDright = True And isemailright = True AndAlso String.IsNullOrEmpty(theUserID) = False Then
|
|
Try
|
|
token = VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(Convert.ToBase64String(time.Concat(Key).ToArray()))
|
|
Return token
|
|
Catch Ex As Exception
|
|
Dim Msg, Style, Title As String
|
|
Msg = "Token Generation failed" & vbCrLf & "A new E-mail has been sent to the intern e-mail given."
|
|
Style = vbRetry + vbExclamation + vbDefaultButton1
|
|
Title = "Error05: Token-Generierung"
|
|
'MsgBox(Msg, Style, Title)
|
|
|
|
'If MsgBox(Msg, Style, Title).Retry Then
|
|
'genToken(username, password, email)
|
|
token = VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(Convert.ToBase64String(time.Concat(Key).ToArray()))
|
|
If SendEmail(username, password, email, token, CustomerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID) = True Then
|
|
'MsgBox("Email could not been sent because of an internal encryption error.", vbOK + vbInformation + vbDefaultButton1, "Token-Generation Error")
|
|
Else
|
|
'MsgBox("Email has been sent successful." & vbCr & "Please check your E-Mails!", vbOK + vbInformation + vbDefaultButton1, "Token-Generation successful!")
|
|
End If
|
|
'Else
|
|
'MsgBox("Token-Generation has not been successful." & vbCrLf & "Please try again in five seconds!")
|
|
Dim jetzt As DateTime = DateTime.UtcNow
|
|
Dim wenn As DateTime = DateTime.UtcNow.AddSeconds(-5)
|
|
|
|
If jetzt < wenn Then
|
|
Return "NotYet"
|
|
Else
|
|
token = genToken(username, password, email, CustomerID, isusrnmright, iscstmIDright, isemailright, Session.IsNewSession, theUserID)
|
|
Return token
|
|
'End If
|
|
End If
|
|
End Try
|
|
Else
|
|
Return String.Empty
|
|
End If
|
|
Else
|
|
Return "Error in Session ID. It has changed. Please check admin!"
|
|
End If
|
|
End Function
|
|
|
|
Function getDateoftoken(tokenname As String) As Boolean
|
|
Dim data() As Byte = Convert.FromBase64String(VERAG_PROG_ALLGEMEIN.cCryptography3.Decrypt(tokenname))
|
|
Dim wenn As DateTime = DateTime.FromBinary(BitConverter.ToInt64(data, 0))
|
|
Dim nameoftoken = VERAG_PROG_ALLGEMEIN.cCryptography3.Decrypt(tokenname)
|
|
If wenn < DateTime.UtcNow.AddMinutes(-30) Then
|
|
nameoftoken = String.Empty
|
|
tokenname = nameoftoken
|
|
'MsgBox("Token has not been found or is too old!" + Environment.NewLine + "Please send a new E-mail!")
|
|
If String.IsNullOrEmpty(txtEmail.Text) And String.IsNullOrEmpty(txt_CustomerID.Text) And String.IsNullOrEmpty(txt_Username.Text) Then
|
|
lblMessage.Text = "Token has not been found or is too old!" + Environment.NewLine + "Please send a new E-mail!"
|
|
ElseIf String.IsNullOrEmpty(txtEmail_M.Text) And String.IsNullOrEmpty(txt_CustomerID_M.Text) And String.IsNullOrEmpty(txt_Username_M.Text) Then
|
|
lblMessage_M.Text = "Token has not been found or is too old!" + Environment.NewLine + "Please send a new E-mail!"
|
|
End If
|
|
Session.Remove("TokenforEmail")
|
|
Return True
|
|
ElseIf nameoftoken = "Error04" Then
|
|
nameoftoken = String.Empty
|
|
tokenname = nameoftoken
|
|
Session.Remove("TokenforEmail")
|
|
Return True
|
|
ElseIf nameoftoken = "NotYet" Then
|
|
Return True
|
|
ElseIf nameoftoken = "Error in Session ID. It has changed. Please check admin!" Then
|
|
' Dim mailto As String = "support@verag.ag"
|
|
Dim mailto As String = "ja@verag.ag"
|
|
Dim htmlbody As String = String.Empty
|
|
VERAG_VARIABLES.seterrorcount(500)
|
|
Dim Betreff As String = "Session ID" + VERAG_VARIABLES.geterrornumb
|
|
If String.IsNullOrEmpty(txt_Username.Text) = False And String.IsNullOrEmpty(txt_Username_M.Text) = True Then
|
|
htmlbody = "<p> Der User " + txt_Username.Text + "hat eine ungültige oder geänderte Session-ID </p> <table><th><td>User</td></th><th><td>neue ID</td></th><tr><td>" + txt_Username.Text + "</td><td>" + Session.SessionID + "</td></tr></table>"
|
|
ElseIf String.IsNullOrEmpty(txt_Username_M.Text) = False And String.IsNullOrEmpty(txt_Username.Text) = True Then
|
|
htmlbody = "<p> Der User " + txt_Username_M.Text + "hat eine ungültige oder geänderte Session-ID </p> <table><th><td>User</td></th><th><td>neue ID</td></th><tr><td>" + txt_Username_M.Text + "</td><td>" + Session.SessionID + "</td></tr></table>"
|
|
End If
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Betreff, htmlbody)
|
|
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
'Function RandomString(r As Random, max As Integer) As String
|
|
'Dim s As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!§$%&/?="
|
|
'Dim sb As New StringBuilder
|
|
'Dim cnt As Integer = r.Next(4, max)
|
|
'For i As Integer = 1 To cnt
|
|
'Dim idx As Integer = r.Next(0, s.Length)
|
|
' sb.Append(s.Substring(idx, 1))
|
|
'Next
|
|
'Return sb.ToString()
|
|
'End Function
|
|
|
|
End Class |