public IHttpActionResult PostFuncionario(Funcionarios funcionario) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Funcionarios.Add(funcionario); if (funcionario.CPF != null && funcionario.NomeCompleto != null && funcionario.Email != null && funcionario.CEP != null && funcionario.Endereco != null && funcionario.Estado != null && funcionario.Login != null && funcionario.Senha != null) { //Criptografar senha funcionario.Senha = GeradorDeDeHash.Criptografar(funcionario.Senha); db.SaveChanges(); } //Id do funcionario para adicionar as permissões var Idfuncionario = funcionario.Id; //Adicionando as permissões do usuario var userRoles = new UserRoles(); userRoles.FuncionarioId = Idfuncionario; userRoles.RoleId = 2; db.UserRoles.Add(userRoles); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { Idfuncionario }, funcionario)); }
public override async Task GrantResourceOwnerCredentials (OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); using (FordEntities bd = new FordEntities()) { var senha = GeradorDeDeHash.Criptografar(context.Password); Funcionarios user = bd.Funcionarios.FirstOrDefault(x => x.Login == context.UserName && x.Senha == senha); if (user == null) { context.SetError("invalid_grant", "Usuário não encontrado ou a senha está incorreta."); return; } var identyUser = new ClaimsIdentity(context.Options.AuthenticationType); context.Validated(identyUser); } }