Exemple #1
0
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            ErrorCodes.Login errorcode = ErrorCodes.Login.NoError;
            // Versucht anzumelden
            var account = LogicAccount.LogIn(textNickname.Text, textPassword.Text, ref errorcode);

            switch (errorcode)
            {
            case ErrorCodes.Login.NoError:     // Erfolgreich angemeldet
                //Response.Write("<script>alert('Erfolgreich angemeldet.');</script>");
                Account = account;
                Response.Redirect("Boerse.aspx");
                break;

            case ErrorCodes.Login.NicknameNotFound:     // Nickname wurde nicht gefunden
                Response.Write("<script>alert('Es wurde kein Account unter dem angegeben Nicknamen gefunden.');</script>");
                break;

            case ErrorCodes.Login.WrongPassword:     // Falsches Passwort eingegeben
                Response.Write("<script>alert('Falsches Passwort.');</script>");
                break;

            default:
                break;
            }
        }
        /// <summary>
        ///  Macht eine einzelne SQL-Abfrage, um einen Account einzuloggen. Gibt den Account und den Fehlercode zurück.
        /// </summary>
        public static AktienSimulatorDataSet.AccountRow CheckLogIn(string nickname, string password, ref ErrorCodes.Login errorcode)
        {
            OleDbConnection connection = new OleDbConnection(Properties.Settings.Default.AktienSimulatorConnectionString);

            connection.Open();

            //SQL Injection verhindern
            string       queryString = "SELECT * FROM Account WHERE Nickname = @Nickname";
            OleDbCommand command     = new OleDbCommand(queryString, connection);

            command.Parameters.Add("@Nickname", OleDbType.VarChar, 255);
            command.Parameters["@Nickname"].Value = nickname;

            //Account suchen
            var reader = command.ExecuteReader(CommandBehavior.SingleRow);

            if (reader.HasRows)
            {
                reader.Read();
                AktienSimulatorDataSet.AccountRow row = DataSet.Account.NewAccountRow();
                row.Nickname = reader["Nickname"].ToString();
                row.Passwort = reader["Passwort"].ToString();
                row.Bilanz   = Convert.ToDecimal(reader["Bilanz"]);

                //Prüft das Passwort
                if (row.Passwort == password)
                { // Passwort korrekt
                    errorcode = ErrorCodes.Login.NoError;
                    connection.Close();
                    return(row);
                }
                else
                { //Passwort inkorrekt
                    errorcode = ErrorCodes.Login.WrongPassword;
                }
            }
            else
            { //Account wurde nicht gefunden
                errorcode = ErrorCodes.Login.NicknameNotFound;
            }

            connection.Close();
            return(null);
        }
Exemple #3
0
        /// <summary>
        ///  Versucht mit dem Account einzuloggen und gibt den Account und den Fehlercode zurück.
        /// </summary>
        public static AktienSimulatorDataSet.AccountRow LogIn(string nickname, string password, ref ErrorCodes.Login errorcode)
        {
            var account = Database.CheckLogIn(nickname, password, ref errorcode);

            return(account);
        }