[英]How to get current user ID
我正在开发一个网页,当您注册和登录时,您需要填写您的信息(姓名、职业、性别)。 我创建了一个存储过程:
ALTER PROCEDURE [dbo].[añadirinfocontacto]
@id int,@apellidoP nvarchar(50),@apellidoM nvarchar(50),@nombre nvarchar(50),@idEspecialidad int,@sexo nvarchar(10)
AS
BEGIN
if(@id=1)
begin
update Tbl_alumnos set nombre=@nombre,apellido_paterno=@apellidoP,apellido_materno=@apellidoM,id_especialidad=@idEspecialidad,sexo=@sexo where id_usuarios=@id
end
else
if(@id=2)
begin
update Tbl_Maestros set nombre=@nombre,apellido_paterno=@apellidoP,apellido_materno=@apellidoM,id_especialidad=@idEspecialidad,sexo=@sexo where id_usuarios=@id
end
else
begin
update Tbl_Administradores set nombre=@nombre,apellido_paterno=@apellidoP,apellido_materno=@apellidoM,id_especialidad=@idEspecialidad,sexo=@sexo where id_usuarios=@id
end
END
代码:
public static EntUsuario Actualizar(int idU,string nombre, string Apellidop,string ApellidoM,int IdEsp,string sexo)
{
EntUsuario obj = null;
SqlCommand cmd = null;
SqlDataReader dr = null;
try
{
Conexion cn = new Conexion( );
SqlConnection cnx = cn.conectar();
cmd = new SqlCommand("añadirinfocontacto", cnx);
cmd.Parameters.AddWithValue("@id", idU);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@apellidoP", Apellidop);
cmd.Parameters.AddWithValue("@apellidoM", ApellidoM);
cmd.Parameters.AddWithValue("@idEspecialidad", IdEsp);
cmd.Parameters.AddWithValue("@sexo", sexo);
cmd.CommandType = CommandType.StoredProcedure;
cnx.Open();
cmd.ExecuteNonQuery();
cnx.Close();
}
catch (Exception e)
{
obj = null;
}
finally
{
cmd.Connection.Close();
}
return obj;
}
和 Cick 按钮事件
protected void btnConfirmar_Click(object sender, EventArgs e)
{
Guid guid = (Guid)Membership.GetUser().ProviderUserKey;
EntUsuario obj = GbUsuario.Actualizar(Convert.ToInt32(guid),txtNombre.Text,txtApP.Text,txtApM.Text,Convert.ToInt32(dpEspecialidad.SelectedValue),RadioButtonList1.SelectedValue);
}
我想获取用户的 ID 但我不知道该怎么做,我已经阅读了有关 Session["user_id"]、Membership.getUser 的内容,我还阅读了我需要配置 web.config。
如果我使用上面的示例代码,我使用 Membership.getUser 但出现一个错误,说它无法连接到数据库
enter code here
您可以使用以下代码获取当前用户:
var user = System.Web.HttpContext.Current.User
您可以通过将其添加到 web.config 来强制用户登录:
<configuration>
<system.web>
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.