public ActionResult Login(AccessControl.Models.Access login, string returnUrl) { if (!login.Email.IsEmpty() && !login.Password.IsEmpty()) { using (AccessControl.Models.DbZeusEntities db = new AccessControl.Models.DbZeusEntities()) { var getLogin = db.Access.FirstOrDefault(p => p.Email.Equals(login.Email)); // Verificar se a variavel getLogin está vazia. Isso pode ocorrer caso o usuário não existe. if (getLogin != null) { // Verifica se o usuário que retornou na variavel tem está ativo if (getLogin.Active) { // Valida se a senha digitada est[a correta if (getLogin.ValidatePassword(login.Password)) { FormsAuthentication.SetAuthCookie(getLogin.Email, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } //cria uma session para armazenar o nome do usuário Session["Name"] = getLogin.Name; //cria uma session para armazenar o sobrenome do usuário Session["LastName"] = getLogin.LastName; //retorna para a tela inicial do Home return(RedirectToAction("Index", "Home")); } else { //Escreve na tela a mensagem de erro informada ModelState.AddModelError("Password", "Invalid Password. =/"); //Retorna a tela de login return(View(new Access())); } } else { ModelState.AddModelError("", "Usuário sem acesso para usar o sistema!!!"); return(View(new Access())); } } else { ModelState.AddModelError("Email", @"Invalid Email. "); return(View(new Access())); } } } //Caso os campos não esteja de acordo com a solicitação retorna a tela de login com as mensagem dos campos return(View(login)); }
public override string[] GetRolesForUser(string username) { DbZeusEntities db = new DbZeusEntities(); string sRoles = db.Access.FirstOrDefault(p => p.Email == username)?.Profile; string[] retorno = { sRoles }; return(retorno); throw new NotImplementedException(); }