Asp.net - forcer le passage par une page d'identification avant l'entrée sur le site asp.net

Contenu du snippet

Cet exemple est une des trois possibilités d'authentification prévue sur ASP.NET, ainsi nous verrons dans cet exemple la plus classique sur Internet, l'authentification par formulaire simple (Login/Pass).
Ceci se fait par le paramétrage du fichier WEB.CONFIG, et la création d'un fichier d'identification (login.aspx).

Source / Exemple :

' ------ Dans web.config -----------

<authentication mode="Forms">
  <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" ></forms>
</authentication>
' Oblige le passage par la page login.aspx pour s'identifier lors de l'arrivée sur toutes les pages du projet

<authorization>
 <deny users="?" ></deny>
 <allow users="*" ></allow>
</authorization>
' Autorisation a tous les utilisateurs identifiés, interdiction au non connus

' -------- Page Login.aspx ------------

<form method="post" runat="server">
<table cellSpacing="0" cellPadding="2" align="center" border="0">
<TR><TD>Login :</TD>
<TD><asp:textbox id="login" runat="server"></asp:textbox></TD>
</TR>
<TR><TD><DIV align="center">Mot de Passe :</DIV></TD>
<TD><asp:textbox id="pass" runat="server" TextMode="Password"></asp:textbox></TD>
</TR>
</table><br><br>
<asp:button id="Button1" runat="server" Text="Envoyer"></asp:button>
<P><P><P><asp:label id="Label1" runat="server"></asp:label></P>
</FORM>

' --------Page Login.aspx.vb ---------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 ' Vérification de l'authentification
 Dim ODBCConnSite As String = "films"
 Dim TmpReaderType As OdbcDataReader
 Dim SQL As String = "Select * FROM password WHERE password.login='" & login.Text & "' AND password.pass='" & pass.Text & "'"

  TmpReaderType = MyODBCReader(SQL, ODBCConnSite)
  If TmpReaderType.Read Then
    FormsAuthentication.RedirectFromLoginPage(login.Text, False)
  Else
    Label1.Text = "Les éléments fournis ne permettent pas de vous authentifier."
  End If
End Sub

' Cet exemple s'appuie sur une requette lancée sur une table et dont le résultat est un Datareader, ainsi si on peut lire ce reader (TmpReaderType.Read) rendra TRUE et validera l'authetification. A l'inverse elle restera sur cette même page et affichera le texte dans le label.




PS: afin d'utiliser la fonction de requettage sur la base des Login/Mdp, voyez ici :
- http://www.asp-php.net/scripts/asp.net/lib_class_mysql.php

Bon développement

Romelard Fabrice (Alias F___)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.