Primero agregamos algunas entradas al web.config
comentamos la entrada que por defecto trae el web.config
<!--<authentication mode="Windows" />-->
Por este otro código:
<authentication mode="Forms">
<forms loginUrl="Login.aspx">
<credentials passwordFormat="SHA1">
<user name="uname"
password="C56944C9F7AAE05AB22B36486C6006B3A4DCBB1C" />
</credentials>
</forms>
</authentication>
Como pueden notar estamos guardando el nombre de usuario y el password encriptado con SHA1
y al final del archivo ponemos este otro código:
<location path="report.aspx"> <!-- con esto espesificamos que la pagina report.aspx requiere autenticacion --> <system.web> <authorization> <deny users="?" /> <!-- solo usuarios autenticados tienen acceso --> </authorization> </system.web> </location>
Luego creamos una pagina (webform) para crear el formulario de login, insertamos un componente login
<table width="100%"> <tr><td align="center"> <asp:Login ID="LoginPage" runat="server" OnAuthenticate="Login1_Authenticate" LoginButtonText="Login" RememberMeText="Remember me" TitleText="" BackColor="#EFF3FB" BorderColor="#B5C7DE" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333"> <InstructionTextStyle Font-Italic="True" ForeColor="Black" /> <LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" /> <TextBoxStyle Font-Size="0.8em" /> <TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em" ForeColor="White" /> </asp:Login> </td></tr> <tr><td align="center"><br /> <asp:TextBox ID="txtClave" runat="server"> </asp:TextBox> <asp:Button ID="button" Text="Generate SHA1" runat="server" OnClick="btnCrearSHA1_Click" /> <br /> <asp:Label ID="txtClaveSHA1" runat="server"></asp:Label> </td></tr> </table>
Luego programamos el evento Authenticate:
Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As AuthenticateEventArgs) Dim aceptado As Boolean = False ' Usando claves encriptadas con SHA1 If FormsAuthentication.Authenticate(LoginPage.UserName, LoginPage.Password) Then aceptado = True Else aceptado = False End If ' redirigirlo a la página "principal", por defecto: Default.aspx If aceptado Then FormsAuthentication.RedirectFromLoginPage(LoginPage.UserName, False) End If End Sub
Con este codigo vamos a generar SHA1 para guardar en el config
Protected Sub btnCrearSHA1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) txtClaveSHA1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtClave.Text, "SHA1") End Sub
La interface se vería algo así:
Se puede descargar el codigo fuente de aqui:
http://code.msdn.microsoft.com/Autenticacin-usando-70dfbc46
No hay comentarios:
Publicar un comentario