Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Braulio Holtz

Cadastro de usuários

Recommended Posts

Agora minha dúvida é o seguinte.

Eu tenho uma tabela e queria com que quando a pessoa se logar no sistema, geraria numa session o ID do usuário.

O cadastro estou usando aquele sistema de MemberShip Provider que tem os comandos do lado de login no Visual Studio.

Então, simplesmente queria saber como que pegaria o ID do usuário que se logou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora minha dúvida é o seguinte.

Eu tenho uma tabela e queria com que quando a pessoa se logar no sistema, geraria numa session o ID do usuário.

O cadastro estou usando aquele sistema de MemberShip Provider que tem os comandos do lado de login no Visual Studio.

Então, simplesmente queria saber como que pegaria o ID do usuário que se logou.

Bem se eu entendi você quer pegar o UserID, pra fazer eu faço assim:

 

//declara váriavel userId e armazena o UserId nela

string userId = Membership.GetUser(true).ProviderUserKey.ToString();

 

//ou se preferir

Session["UserId"] = Membership.GetUser(true).ProviderUserKey;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essse código que você me passou, resolve parte de um problema.

Mas estou precisando que na hora que vou cadastrar o usuário, eu teria que fazer o seguinte, usando o CreateUserWizard o primeiro passo poderia ser normal o cadastro de login, o segundo passo eu teria que pegar o ID do cadastrado do login e quando eu for fazer o insert, fazeria o insert do ID com a tabela tbl_clientes. Neste caso teria que fazer o select ou teria outro jeito mais fácil?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essse código que você me passou, resolve parte de um problema.

Mas estou precisando que na hora que vou cadastrar o usuário, eu teria que fazer o seguinte, usando o CreateUserWizard o primeiro passo poderia ser normal o cadastro de login, o segundo passo eu teria que pegar o ID do cadastrado do login e quando eu for fazer o insert, fazeria o insert do ID com a tabela tbl_clientes. Neste caso teria que fazer o select ou teria outro jeito mais fácil?

Se for o que entendi, você tem outra tabela tbl_clientes, onde você quer adicionar o id do usuário na hora que for realizar o cadastro, após o segundo passo..

 

Eu fiz um exemplo simples, você precisa criar um novo "CreateUserStep" no CreateUserWizard, no caso, eu adicionei um passo antes do passo de adicionar os dados de login..

protected void CreateUserWizard1_CreatedUser1(object sender, EventArgs e)
	{			
		//Método para salvar os campos do CreateUserStep1
		Save();

		//Adiocionando usuário a uma role
		Roles.AddUserToRole(CreateUserWizard1.UserName, "RoleName");
	}
	
	private void Save()
	{
	//Obtem nome de usuário digitado no campo UserName do CreateUserWizard no CreateUserStep2
		TextBox UserNameTextBox =
			(TextBox) CreateUserStep2.ContentTemplateContainer.FindControl("UserName");

		//Criando conexão
		using (SqlConnection conn = new SqlConnection(connectionString))
		{
		//Criando o comando para adicionar os dados no banco, no caso utilizei uma stored procedure
			SqlCommand cmd = new SqlCommand("nomedaprocedure", conn);
			//Definindo tipo de comando
			cmd.CommandType = CommandType.StoredProcedure;
			//Adicionando os parâmetos
			cmd.Parameters.AddRange(new SqlParameter[]
										{
											new SqlParameter("@campo", SqlDbType.Int),
										});
			//Setando valores aos parâmetos
			cmd.Parameters[0].Direction = ParameterDirection.InputOutput;
			cmd.Parameters[0].Value = "0";
			//no exemplo, esse parâmeto que recebe o UserId.
			cmd.Parameters[1].Value = Membership.GetUser(UserNameTextBox.Text).ProviderUserKey;;
			
		 try
			{
				conn.Open();
				cmd.ExecuteNonQuery();
			}
			catch (SqlException ex)
			{
				//ShowMessage(ex.Message);
			}
			catch (Exception ex)
			{
				//ShowMessage(ex.Message);
			}
		}
	}

Espero ter ajudado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essse código que você me passou, resolve parte de um problema.

Mas estou precisando que na hora que vou cadastrar o usuário, eu teria que fazer o seguinte, usando o CreateUserWizard o primeiro passo poderia ser normal o cadastro de login, o segundo passo eu teria que pegar o ID do cadastrado do login e quando eu for fazer o insert, fazeria o insert do ID com a tabela tbl_clientes. Neste caso teria que fazer o select ou teria outro jeito mais fácil?

Se for o que entendi, você tem outra tabela tbl_clientes, onde você quer adicionar o id do usuário na hora que for realizar o cadastro, após o segundo passo..

 

Eu fiz um exemplo simples, você precisa criar um novo "CreateUserStep" no CreateUserWizard, no caso, eu adicionei um passo antes do passo de adicionar os dados de login..

protected void CreateUserWizard1_CreatedUser1(object sender, EventArgs e)
	{			
		//Método para salvar os campos do CreateUserStep1
		Save();

		//Adiocionando usuário a uma role
		Roles.AddUserToRole(CreateUserWizard1.UserName, "RoleName");
	}
	
	private void Save()
	{
	//Obtem nome de usuário digitado no campo UserName do CreateUserWizard no CreateUserStep2
		TextBox UserNameTextBox =
			(TextBox) CreateUserStep2.ContentTemplateContainer.FindControl("UserName");

		//Criando conexão
		using (SqlConnection conn = new SqlConnection(connectionString))
		{
		//Criando o comando para adicionar os dados no banco, no caso utilizei uma stored procedure
			SqlCommand cmd = new SqlCommand("nomedaprocedure", conn);
			//Definindo tipo de comando
			cmd.CommandType = CommandType.StoredProcedure;
			//Adicionando os parâmetos
			cmd.Parameters.AddRange(new SqlParameter[]
										{
											new SqlParameter("@campo", SqlDbType.Int),
										});
			//Setando valores aos parâmetos
			cmd.Parameters[0].Direction = ParameterDirection.InputOutput;
			cmd.Parameters[0].Value = "0";
			//no exemplo, esse parâmeto que recebe o UserId.
			cmd.Parameters[1].Value = Membership.GetUser(UserNameTextBox.Text).ProviderUserKey;;
			
		 try
			{
				conn.Open();
				cmd.ExecuteNonQuery();
			}
			catch (SqlException ex)
			{
				//ShowMessage(ex.Message);
			}
			catch (Exception ex)
			{
				//ShowMessage(ex.Message);
			}
		}
	}

Espero ter ajudado..

 

beleza, estou usando o vb.net e já converti, e não está fazendo o insert na tbl_representante e não dá nem erro. O primeiro passo está como CreateUserStep1 e o segundo está como CreateUserStep2, o segundo com aqueles dados de login, senha, etc e o primeiro está com os dados de nome, estado, observacao, etc. Tem que ser em Procedure?

Protected Sub CreateUserWizard1_CreatedUser1(ByVal sender As Object, ByVal e As System.EventArgs)
		'Método para salvar os campos do CreateUserStep1
		Save()
	End Sub
	Private Sub Save()
		'Obtem nome de usuário digitado no campo UserName do CreateUserWizard no CreateUserStep2
		Dim UserNameTextBox As TextBox = DirectCast(CreateUserStep2.ContentTemplateContainer.FindControl("UserName"), TextBox)

		'Criando conexão
		Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("teste_megaConnectionString").ConnectionString)
			'Criando o comando para adicionar os dados no banco, no caso utilizei uma stored procedure
			Dim cmd As New SqlCommand("Insert into tbl_representante (nome, fantasia, estado, comissao, comissao_desconto, codigo_reduzido, observacao, id_user) values (@nome, @fantasia, @estado, @comissao, @comissao_desconto, @codigo_reduzido, @observacao, @id_user)", conn)
			'Definindo tipo de comando
			cmd.CommandType = System.Data.CommandType.TableDirect
			'Adicionando os parâmetos
			cmd.Parameters.AddRange(New SqlParameter() {New SqlParameter("@id_user", System.Data.SqlDbType.Int)})
			'Setando valores aos parâmetos
			cmd.Parameters(0).Direction = System.Data.ParameterDirection.InputOutput
			cmd.Parameters(0).Value = "0"
			'no exemplo, esse parâmeto que recebe o UserId.
			cmd.Parameters(1).Value = Membership.GetUser(UserNameTextBox.Text).ProviderUserKey
			cmd.Parameters.Add(New SqlParameter("@nome", txtNome.Text))
			cmd.Parameters.Add(New SqlParameter("@fantasia", txtFantasia.Text))
			cmd.Parameters.Add(New SqlParameter("@estado", ddlEstado.SelectedValue))
			cmd.Parameters.Add(New SqlParameter("@comissao", txtComissao.Text))
			cmd.Parameters.Add(New SqlParameter("@comissao_desconto", txtComissao_desconto.Text))
			cmd.Parameters.Add(New SqlParameter("@codigo_reduzido", txtCodigo.Text))
			cmd.Parameters.Add(New SqlParameter("@observacao", txtObservacao.Text))
			'cmd.Parameters.Add(New SqlParameter("@id_user", Membership.GetUser(UserNameTextBox.Text).ProviderUserKey))

			Try
				conn.Open()
				cmd.ExecuteNonQuery()
			Catch ex As SqlException
				'ShowMessage(ex.Message);
			Catch ex As Exception
				'ShowMessage(ex.Message);
			End Try
		End Using
	End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.