Foros del Web » Programación para mayores de 30 ;) » .NET »

Login sin BD

Estas en el tema de Login sin BD en el foro de .NET en Foros del Web. Hola a todos. Como puedo hacer un login directamente en codigo usando el control login y loginview @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ASP: Ver original < asp ...
  #1 (permalink)  
Antiguo 15/06/2011, 19:43
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Login sin BD

Hola a todos.

Como puedo hacer un login directamente en codigo usando el control login y loginview

Código ASP:
Ver original
  1. <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
  2.     <AnonymousTemplate>
  3.         <asp:Login ID="LoginCtrl" runat="server" DestinationPageUrl="default.aspx"
  4.             onauthenticate="LoginCtrl_Authenticate"></asp:Login>
  5.     </AnonymousTemplate>
  6.     <LoggedInTemplate>
  7.         Logueado
  8.     </LoggedInTemplate>
  9. </asp:LoginView>

que cuando accedas por primera vez muestre el formulario de login y tras entrar que muestre simplemente el mensaje de logueado

Quiza se algo simple pero todo lo que encuentro ha ce referencia a usar base de datos y de momento solo necesito eso.

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 15/06/2011, 20:50
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 4 meses
Puntos: 46
Respuesta: Login sin BD

ya casi queda. tengo lo siguiente:

Este es el evento de cuando se da click al boton de iniciar sesion
Código ASP:
Ver original
  1. protected void LoginCtrl_Authenticate(object sender, AuthenticateEventArgs e)
  2.     {
  3.         try
  4.         {
  5.            //Aqui busco el control de login para acceder a los campos de username y password
  6.             Login logctr = (Login)this.FindControlRecursive(this, "LoginCtrl");
  7.  
  8.             if ((logctr.UserName == "Lair") && (logctr.Password == "pass"))
  9.             {
  10.                 e.Authenticated = true;
  11.             }
  12.         }catch(Exception ex){
  13.             Label1.Text = ex.Message;
  14.         }
  15.     }

Como no se en donde esta el control, encontre un metodo que hace una busqueda recursiva
Código ASP:
Ver original
  1. private Control FindControlRecursive(Control rootControl, string controlID)
  2.     {
  3.         if (rootControl.ID == controlID) return rootControl;
  4.         foreach (Control controlToSearch in rootControl.Controls)
  5.         {
  6.             Control controlToReturn = FindControlRecursive(controlToSearch, controlID);
  7.             if (controlToReturn != null) return controlToReturn;
  8.         }
  9.         return null;
  10.     }

Por ahora solo hay dos dudas.
1) como hago para desloguearme si lo hago con la variable que me proporciona el metodo de autentificacion AuthenticateEventArgs e
2) se puede hacer de mejor forma la busqueda del componente login ya que el propio framework tiene el metodo FindControl

Sale Gracias.


Bueno ya casi queda.
para resolver el primero (el logout) simplemente copie y pegue el tag que trae la plantilla por defecto
Código ASP:
Ver original
  1. <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Cerrar sesión" LogoutPageUrl="~"/>
esto dentro de la seccion de LoggedInTemplate del LoginView

Sale y saludos

Última edición por lair; 15/06/2011 a las 21:21

Etiquetas: codebehind, login, loginview, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:01.