public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { // Adiciona no cabeçalho a origem da requisicao context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); //Permite todos os String login = context.UserName; String senha = context.Password; try { bool retorno = false; var db = new EstudodbEntities(); var usuarioDados = new UsuarioDados(db); var usuarioNegocios = new UsuarioNegocio(usuarioDados); retorno = usuarioNegocios.VerificaUsuario(login, senha); if (!retorno) { return; } //Identifica o usuário var identidade = new ClaimsIdentity(context.Options.AuthenticationType); identidade.AddClaim(new Claim(ClaimTypes.Name, login)); //Atribui Roles var roles = new String[] { }; foreach (var role in roles) { identidade.AddClaim(new Claim(ClaimTypes.Role, role)); } GenericPrincipal principal = new GenericPrincipal(identidade, roles.ToArray()); Thread.CurrentPrincipal = principal; // Configura na Thread principal para poder recuperar no controle context.Validated(identidade); } catch (Exception e) { context.SetError("Falha de Autenticação", "Falha ao realizar Autenticação.\n\n" + e.Message); } }
public UsuarioDados(EstudodbEntities db) { this.db = db; }
public ProfissaoDados(EstudodbEntities db) { this.db = db; }
public PessoaDados(EstudodbEntities db) { this.db = db; }