Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom Dia... estou tentando desde ontem fazer retornar uma resposta proposta mais falta uma parte que mostrarei no fonte abaixo:
[HttpPost]
public ActionResult LogIn(FormCollection collection)
{
string user = collection["user"], password = Crypto.Sha256Encrypt(collection["password"]);
try
{
ModelContainer mc = MySqlContext.Entity();
Usuario reguser = (from o in mc.Usuarios
where (o.Login == user )
&& (o.Senha == password) && (o.Ativo == true)
select o).First();
Autenticacao auth = new Autenticacao();
auth.Usuario = reguser;
auth.Data = DateTime.Now;
auth.IP = Request.ServerVariables["REMOTE_ADDR"];
if (reguser != null)
{
StateContext.Usuario = reguser;
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Esse codigo retorna EXATAMENTE da forma correta, ou seja, essa é uma pagina de login que encontrando o usuario correto no banco retorna uma pagina "Index" que ainda nao foi criada mas deve aparecer com erros mesmo. Só que o detalhe é que nao é só isso, foi proposto que além do nome de usuario do sistema, poderia-se entrar com o E-mail cadastrado tbm...
Esse é o real problema, pois tentei com Include, Join e todo tipo de formas possiveis eu tentei mais nao consegui resolver esse problema.. se alguem pudesse me ajudar agradeceria muito.
E ainda abaixo a forma com Include, lembrando que essa forma não sei se esta correta mais o Include foi feito de 2 formas:
[HttpPost]
public ActionResult LogIn(FormCollection collection)
{
string user = collection["user"], password = Crypto.Sha256Encrypt(collection["password"]);
try
{
// include para fazer a busca nas outras entidades <Pessoas> e <Contatos>
ModelContainer mc = MySqlContext.Entity();
Usuario reguser = (from o in mc.Usuarios.Include("Pessoas.Contato")
where (o.Login == user || o.Pessoa.Contato.Email == user)
&& (o.Senha == password) && (o.Ativo == true)
select o).First();
Autenticacao auth = new Autenticacao();
auth.Usuario = reguser;
auth.Data = DateTime.Now;
auth.IP = Request.ServerVariables["REMOTE_ADDR"];
if (reguser != null)
{
StateContext.Usuario = reguser;
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
E assim tbm ja foi feito e testa e o mesmo resultado: NÃO FUNCIONOU:
Usuario reguser = (from o in mc.Usuarios.Include("Pessoas").Include("Contato")
where (o.Login == user || o.Pessoa.Contato.Email == user)
&& (o.Senha == password) && (o.Ativo == true)
select o).First();
Carregando comentários...