Estoy tratando de desarrollar una aplicación web en formularios web ASP.NET usando C# y quiero redirigir al usuario para que inicie sesión si no ha iniciado sesión, pero cuando intento iniciar sesión no puedo redirigir a la página dashboard.aspx. Acabo de encontrar mi yo mismo en la página de inicio de sesión, por favor, cualquiera puede ayudarme :)
protected void Page_Load(object sender, EventArgs e) { if (Session["username"] == null) { Response.Redirect("login.aspx", true); return; } //else //{ // Response.Redirect("dashbord.aspx", true); //} }iniciar sesión.aspx
string user = Request["login1"]; string code = Request["pass"]; SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "select * from admin where username = '"+user+"' and password = '"+ code + "'"; cmd.ExecuteNonQuery(); Session["username"] = user; Session.Clear(); Session.Abandon(); Session.RemoveAll(); Response.Redirect("dashbord.aspx");Debe probar y usar un proveedor de seguridad integrado. (incluso el simple FBA y los proveedores de roles son mejores que esto). Si un usuario accede a una página que está protegida o requiere un inicio de sesión, IIS saltará a la página de inicio de sesión y luego lo redirigirá automáticamente a donde se dirigía en primer lugar. Por lo tanto, realmente no desea manejar esto por su cuenta, ya que entonces los esfuerzos simples para configurar una página web en una carpeta segura se vuelven fáciles.
Vea esta publicación mía reciente: cómo funciona esto, o al menos debería funcionar. Si no adopta un sistema de seguridad incorporado, intentará cada vez más escribir código en casi todas las páginas web para lidiar con las formas casi "ilimitadas" en que los usuarios pueden escribir en cualquier URL anterior, y eso es un desafío. .