Inquiridor
Capturar usuario logado

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.
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
-
-
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. -
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
-
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"); } } }
-
-
faz assim : session["usuario"] = usuario.idusuario;
Junior
- Sugerido como Resposta Washington quinta-feira, 20 de junho de 2013 19:42
-
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
-
-