public async Task <User> FindUser(string userName, string password) { //Phat Nguyen - 14/05/2015 //Every connection is using singleton design pattern, so when we find one user, the user is cached in this //dbcontext. When we change this user from another connection, and get back to previous connection, the user with data changed //is not apply //Solutio: create new DBcontext everytime we need to get all user information. var context = new SGVNInterviewDBContext(); using (var userManager = new UserManager <User>(new UserStore <User>(context))) { var user = await userManager.FindAsync(userName, password); //var userId = _userManager.FindByName(userName).Id; if (user != null && user.IsActive == "1") { if (user.IsLoggedIn != "1") { user.IsLoggedIn = "1"; userManager.Update(user); } userManager.UpdateSecurityStamp(user.Id); } return(user); } }
public UserRepository(IDatabaseFactory databaseFactory) : base(databaseFactory) { _dbset = DataContext.Set <User>(); _ctx = DataContext; //_userManager = _userManager ?? new UserManager<User>(new UserStore<User>(_ctx)); _userStore = _userStore ?? new UserStore <User>(_ctx); _userManager = _userManager ?? new UserManager <User>(_userStore); _roleManager = _roleManager ?? new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(_ctx)); }
public User GetUser(string userName, string password) { var context = new SGVNInterviewDBContext(); using (var userManager = new UserManager <User>(new UserStore <User>(context))) { var user = userManager.Find(userName, password); return(user); } }
public bool CheckSecurityStamp(string userName, string clientSstp) { var context = new SGVNInterviewDBContext(); using (new UserManager <User>(new UserStore <User>(context))) { var sstp = _userManager.FindByName(userName).SecurityStamp; if (clientSstp.Equals(sstp)) { return(true); } } return(false); }
public SGVNInterviewDBContext Get() { return(_dataContext ?? (_dataContext = new SGVNInterviewDBContext())); }
public AuthRepository() { _ctx = new SGVNInterviewDBContext(); _userManager = new UserManager <User>(new UserStore <User>(_ctx)); }