Compartir a través de


Autenticacion en ASP.NET animada con una Progress Bar (es-ES)

Es una forma fácil para iniciar sesión en páginas web mediante el control de Login en asp.net y el membership provider, animado con una barra de progreso.

En la parte de Parsing de XML, se añade un control de acceso y una barra de progreso de actualización

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel id="UpdatePanel1" runat="server">
     <contenttemplate>
        <asp:Login ID="Login1" runat="server"
         
            style="Z-INDEX: 110; LEFT: 350px; POSITION: absolute; TOP: 100px"
            BackColor="White" BorderColor="#F1F6FE" BorderPadding="4" BorderStyle="Solid"
            BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333"
            Height="140px" Width="340px"
      UserNameLabelText="ID:" DestinationPageUrl="Welcome.aspx">
       
      <LoginButtonStyle BackColor="White" BorderColor="#41519A" BorderStyle="Solid" BorderWidth="1px"
        Font-Size="0.8em" ForeColor="#41519A" />
    <TextBoxStyle Font-Size="0.8em" />
    <TitleTextStyle BackColor="#2153AA" Font-Bold="True" Font-Size="0.8em" ForeColor="White" />
    <InstructionTextStyle Font-Italic="True" ForeColor="Black" />
    </asp:Login>
</contenttemplate>
</asp:UpdatePanel>
         
<asp:UpdateProgress ID="UpdateProgress1" runat="server" >
<ProgressTemplate>
         <img src="images/loadingAnim.gif"  style="Z-INDEX: 110; LEFT: 400px; POSITION: absolute; TOP: 300px"/>
        </ProgressTemplate>
</asp:UpdateProgress>

En el code behind usando vb.net podemos usar el membership provider generado por el visual studio para asegurar nuestro website.

Hemos agregado un sleeping thread de 3 segundos el evento Login1_LoggingIn para permitir a la progressbar mostrar la animacion.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       If Not Page.IsPostBack Then
           If Request.IsAuthenticated AndAlso Not String.IsNullOrEmpty(Request.QueryString("ReturnUrl"))Then
 
               Response.Redirect("~/NoAuthorized.aspx")
           End If
       End If
   End Sub
 
   Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e AsSystem.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
 
       If Membership.ValidateUser(Login1.UserName, Login1.Password) Then
 
           Dim usrInfo As MembershipUser = Membership.GetUser(Login1.UserName)
 
           e.Authenticated = True
 
       Else
           e.Authenticated = False
       End If
   End Sub
 
   Protected Sub Login1_LoginError(ByVal sender As Object, ByVal e As System.EventArgs) HandlesLogin1.LoginError
 
       Login1.FailureText = Resources.traduction.failureText
 
   End Sub
   Protected Sub Login1_LoggingIn(ByVal sender As Object, ByVal e AsSystem.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn
       System.Threading.Thread.Sleep(3000)
   End Sub

See Also