Example #1
0
        public static void Registrieren(UserVM user)

        {
            User dbUser = new User();

            dbUser.firstname = user.firstname;
            dbUser.lastname  = user.lastname;
            dbUser.email     = user.email;
            dbUser.password  = user.password;
            dbUser.created   = DateTime.Now;

            //Salt erzeugen
            var salt = Hash.SaltErzeugen();

            //Salt in das EntiyModel speichern
            dbUser.salt = salt;

            //Salt an das Klartextpasswort anhaengen
            dbUser.password += salt;

            //PW Hashen
            dbUser.password = Hash.HashBerechnen(dbUser.password);

            //Datenbankverbindung aufgebaut
            using (var db = new CryptoTraderEntities())

            {
                db.User.Add(dbUser); //User hinzufügen
                db.SaveChanges();    //speichern in datenbank
            }

            return;
        }
Example #2
0
        public static bool Login1(UserVM user)
        {
            using (var db = new CryptoTraderEntities())
            {
                if (db.User.Any(n => n.email == user.email))
                {
                    var dbUser = db.User.Where((n => n.email == user.email)).FirstOrDefault();

                    user.password += dbUser.salt;

                    var eingegPWHash = Helper.Hash.HashBerechnen(user.password);

                    if (eingegPWHash == dbUser.password)
                    {
                        var authTicket = new FormsAuthenticationTicket(
                            1,                           //Ticketversion
                            user.email,                  //Useridentifizierung
                            DateTime.Now,                //Zeitpunkt der Erstellung
                            DateTime.Now.AddMinutes(30), //Wann das Ticket ablaeuft
                            false,                       //Persistentes Ticket?
                            user.Role.ToString()
                            );
                        // FormsAuthentication.Encrypt erstellt eine Zeichenfolge, die einen verschlüsselten Formularauthentifizierungstickets
                        //     geeignet für die Verwendung in einem HTTP-Cookie enthält.
                        var encryptedTicket = FormsAuthentication.Encrypt(authTicket);

                        var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

                        HttpContext.Current.Response.Cookies.Add(authCookie);
                        return(true);
                    }
                }
            }
            return(false);
        }