private static bool DoLoginBygkey(string gkey, HasanEntities database, out UserViewModel userModel) { userModel = new UserViewModel(); string gkeyToken="";//= AESCriptography.AesDecryption(gkey); Guid usergkey = new Guid(gkeyToken); var user = database.User.Where(it => it.gKey == usergkey && !it.Deleted).SingleOrDefault(); if (user != null) { userModel.Id = user.Id; userModel.Password = user.Password; userModel.EMail = user.EMail; userModel.Name = user.Name; userModel.Surname = user.Surname; userModel.gKey = user.gKey; userModel.aKey = user.aKey; userModel.ChangePasswordAtNextLogon = user.ChangePasswordAtNextLogon; UserProfileSessionDTO sessionUser = new UserProfileSessionDTO(); sessionUser.EMail = user.EMail; sessionUser.UserId = user.Id; sessionUser.FullName = user.Name + " " + user.Surname; HttpContext.Current.Session["UserSession"] = sessionUser; return true; } else { return false; } }
/// <summary> /// Get user data from session /// </summary> /// <returns></returns> public static UserProfileSessionDTO GetLoggedInUserSession() { try { var session = HttpContext.Current.Session; if (session["UserSession"] != null) { return session["UserSession"] as UserProfileSessionDTO; } /* Create new empty session object */ session["UserSession"] = new UserProfileSessionDTO(); return session["UserSession"] as UserProfileSessionDTO; } catch (Exception ex) { Logger logger = LogManager.GetCurrentClassLogger(); logger.ErrorException("GetLoggedInUserSession", ex); throw ex; } }
/// <summary> /// Login user & keep data into session /// </summary> /// <param name="email"></param> /// <param name="password"></param> /// <param name="rememberMe"></param> /// <param name="database"></param> /// <param name="userModel"></param> /// <returns></returns> private static bool DoLogin(string email, string password, bool rememberMe, HasanEntities database, out UserViewModel userModel) { try { userModel = new UserViewModel(); if (email == null || email.Trim() == "") return false; var user = database.User.Where(it => it.EMail == email && it.Password == password && it.Active && !it.Deleted).SingleOrDefault(); if (user != null) { userModel.Id = user.Id; userModel.Password = user.Password; userModel.EMail = user.EMail; userModel.Name = user.Name; userModel.Surname = user.Surname; userModel.gKey = user.gKey; userModel.aKey = user.aKey; userModel.ChangePasswordAtNextLogon = user.ChangePasswordAtNextLogon; UserProfileSessionDTO sessionUser = new UserProfileSessionDTO(); sessionUser.EMail = user.EMail; sessionUser.UserId = user.Id; sessionUser.FullName = user.Name + " " + user.Surname; sessionUser.isLocked = false; HttpContext.Current.Session["UserSession"] = sessionUser; return true; } else { return false; } } catch (Exception ex) { Logger logger = LogManager.GetCurrentClassLogger(); logger.ErrorException("DoLogin", ex); throw ex; } }
/// <summary> /// Login from cookie data /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="rememberMe"></param> /// <param name="database"></param> /// <returns></returns> public static bool DoLogin(string username, string password, bool rememberMe, HasanEntities database) { try { if (username == null || username.Trim() == "") return false; var user = database.User.Where(it => it.EMail == username && it.Password == password && it.Active && !it.Deleted).SingleOrDefault(); if (user != null) { UserProfileSessionDTO sessionUser = new UserProfileSessionDTO(); sessionUser.EMail = user.EMail; sessionUser.UserId = user.Id; sessionUser.FullName = user.Name; sessionUser.Password = user.Password; HttpContext.Current.Session["UserSession"] = sessionUser; return true; } else { return false; } } catch (Exception ex) { Logger logger = LogManager.GetCurrentClassLogger(); logger.ErrorException("GetLoggedInUserSession", ex); throw ex; } }