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; }
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); }