none
Capturar usuario logado RRS feed

  • Pergunta

  • Olá pessoal, estou desenvolvendo com VS2012, ASP.Net e C#

    Eu tenho uma aplicação onde ao gravar um novo registro na base, eu preciso registrar qual foi o usuário que inseriu o registro, e também ao atualizar eu gravo qual foi o ultimo Usuário que alterou o registro.
    Porém não estou conseguindo encontrar uma forma de capturar o Id desse usuário que está logado na sessão.

    OBS: Para entrar na minha aplicação, tenho um formulário com Login e Senha.



    Desde já agradeço a ajuda.
    quinta-feira, 20 de junho de 2013 17:43

Todas as Respostas

  • use session assim qdo o usuario se logar vc cria uma session com o id dele e a cada pagina vc verifica essa session


    Junior


    • Editado Junior_luiz quinta-feira, 20 de junho de 2013 17:53 errei
    quinta-feira, 20 de junho de 2013 17:52
  • Ola Junior... obrigada por me ajudar.

    Então eu estou tentando fazer assim, mas não estou conseguindo.
    Será que você poderia me dar um exemplo

    Obrigada.

    quinta-feira, 20 de junho de 2013 17:59
  • Olá Poliana.

    Como seu sistema já utiliza autenticação, voce pode guardar os dados do usuário logado em uma sessão.

    Voce pode fazer com que seu método retorne o codigo do usuário logado.

    Poste o seu código que voce utiliza para logar o usuario e te apoio na criação da Session.

    Abraços,


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 20 de junho de 2013 18:06
  • Qdo o usuario se logar com sucesso vc faz assim :

    session["nomedasession"] = valor;

    Não sei como vc está acessando teus dados mais essa é a forma de criar uma session

    ai qdo vc for gravar os dados no teu banco vc faz assim

    int idusuario = convert.toint32(session["nomedasession"]); // se o campo na sua tabela for inteiro pq a session é string se no seu banco for string não precisa fazer a conversao;

    A Session é vista em todas as páginas quem controla ela é o iis.


    Junior


    • Editado Junior_luiz quinta-feira, 20 de junho de 2013 18:11 errei
    • Sugerido como Resposta Junior_luiz quinta-feira, 20 de junho de 2013 19:20
    quinta-feira, 20 de junho de 2013 18:10
  • Pessoal estou postando o meu código, para vocês verem como faço minha autenticação.

    namespace TSWebStart.PainelControle
    {
        public partial class login : System.Web.UI.Page
        {
           
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
            protected void btnAutenticar_Click(object sender, EventArgs e)
            {
                string Login = txtUsuario.Text;
                string Senha = txtSenha.Text;
    
    
                Senha = FormsAuthentication.HashPasswordForStoringInConfigFile(Senha, "MD5");
    
                TSWebStart.Business.Usuario usuariosBO = new TSWebStart.Business.Usuario();
                TSWebStart.Entities.Usuario usuario = usuariosBO.AutenticaUsuario(Login, Senha);
    
                if (!usuariosBO.Erro && usuario.IDUsuario > 0)
                {
                    Session.Add("PainelAutenticado", true);
                    Session.Add("Usuario", usuario);
                    //redireciona para o Default do painel
                    Response.Redirect("Default.aspx");
                   
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "msgbox", "alert('" + usuariosBO.MensagemErro + "')", true);
                }
    
            }
    
            protected void btnVoltar_Click(object sender, EventArgs e)
            {
                Response.Redirect("../index.aspx");
            }
        }
    }

    quinta-feira, 20 de junho de 2013 18:15
  • Você colocou o usuário na sessão? Para saber qual é o usuário que está logado no sistema você irá utilizar o objeto Session do ASp.NET.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    quinta-feira, 20 de junho de 2013 18:39
  • faz assim : session["usuario"] = usuario.idusuario;


    Junior

    • Sugerido como Resposta Washington quinta-feira, 20 de junho de 2013 19:42
    quinta-feira, 20 de junho de 2013 18:54
  • Junior_Luiz,

    Muitíssimo obrigado, você não tem ideia de quanto me ajudou. Fiz igualzinho você me falou.

    Depois que o usuário logou fiz o seguinte.

    Session["Usuario"] = usuario.IDUsuario;

    e na hora de gravar no banco coloquei:

    int user = Convert.ToInt32(Session["Usuario]);

    SUCESSO !!! PERFEITO

    Obrigada mais uma vez. ;)

    • Sugerido como Resposta Junior_luiz quinta-feira, 20 de junho de 2013 19:19
    quinta-feira, 20 de junho de 2013 19:12
  • De nada Polianna é pra isso que existe o forum

    Junior

    quinta-feira, 20 de junho de 2013 19:14
  • não esqueça de marcar o post como respondido

    Junior

    quinta-feira, 20 de junho de 2013 19:21