none
Exibir informações de um usuário logado em meu site. RRS feed

  • Pergunta

  • Bom dia pessoal,

    Estou desenvolvendo um site em ASP .Net MVC 4 e eu preciso verificar qual usuário esta logado e exibir no site todo somente os dados deste usuário logado. Atualmente o site mostra as informações porém de todos os usuário logados. Dessa forma um usuário que esteja logado consegue visualizar tudo sobre outros usuários. Como eu faço para recuperar somente as informações de um usuário que esteja logado?

    segunda-feira, 15 de julho de 2013 12:32

Respostas

Todas as Respostas

  • Bom dia. Se os seus usuários estão cadastrado no banco de dados , você deve utilizar uma consulta seja via Entity Framework , ou ADO.Net com uma condição Where buscando apenas o Login e Senha dessa forma ele tratá apenas os dados do seu usuário , de preferência o ideal é você Criar um Modelo (Model) Chamado Usuario , para que dessa forma você você faça o mapeamento do banco de dados. E detalhe o ideal após validar o usuário é armazenar os dados em uma Sessão para que com isso , você consiga validar as outras páginas. 

    Exemplo com EF 5

    /* Abaixo temos o modelo */
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    
    namespace MvcTeste.Models
    {
     public class Usuario
    {
            [Key()]
            public int IdUsuario { get;set;}
            public string Nome { get; set; }
            public string Login { get; set; }
            public string Senha { get; set;}
            public string Telefone {get;set;}
            public string Celular {get;set;}
            public string Status { get; set; }
            public string Email { get; set; }
    }
    
    }
    
    /* Aqui o Contexto */
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.Entity;
    using System.Data.Entity.ModelConfiguration;
    
    
    namespace MvcTeste.Models
    {
    
    
     public class ContextoGeral : DbContext
        {
    
            public ContextoGeral()
                : base("cnSQLSERVER")
            {
    
            }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                
                modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
                
              
            }
    
            public DbSet<Usuario> Usuario{ get; set; }
            
        }
    
    }
    
    
    /* Aqui temos controller com regra de validações */
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using MvcTeste.Models;
    
    
    namespace MvcTeste.Controllers
    {
        public class AdmEmpresaController : Controller
        {
            private ContextoGeral QueryUsuario = new ContextoGeral();
    
    public ActionResult ValidarUsuario(Usuario User)
    {
       var RetornoUser = QueryUsuario.Usuario.Where(n => n.Login.Equals(User.Login) && n.Senha.Equals(User.Senha)).FirstOrDefault();
    
    
    if(RetornoUser != null)
    {
     Session["Usuario"] = RetornoUser;
     return RedirectToAction("HomeAdm");
    }
    else
    {
     return View("Index");
    }
    
    
    }
    
         }
    
    }
    

    Bom claro que o código acima é só um exemplo poderíamos melhorar com padrões como repository , mas a ideia é você entender o procedimento . Espero ter ajudado e não esqueça de marcar como resposta se lhe foi útil.


    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br

    segunda-feira, 15 de julho de 2013 12:52
  • Coloque o nome do usuário na sessão, desta forma fica mais fácil saber quem está logado.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    quarta-feira, 11 de setembro de 2013 17:05
  • Pra pegar o nome do usuário logado usar o comando User.Identity.Name e pra jogar informações no PERFIL desse usuário logado utilizar ASP.NET PROFILE

    Leonardo Lourenço Silva


    quarta-feira, 11 de setembro de 2013 17:45