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