ASP- session

Bonjour,
je voudrais connaitre le code pour qu'un utilisateur entre un login et un mot de passe, avec la vérification de ceux ci
Merci d'avance

3 réponses

  1. j'ai une base mysql avec une table client avec un ID un login et un mot de passe
    1. Contributeur
      cela depend par quoi tu veux passer pour l'authentification..
      AD, SQL...
      1. Contributeur
        voici un exemple avec un web service..tu pourra t'en inspirer:

        la page (enfin le code de la page)
        using System;
        using System.Collections;
        using System.ComponentModel;
        using System.Data;
        using System.Drawing;
        using System.Web;
        using System.Web.SessionState;
        using System.Web.UI;
        using System.Web.UI.WebControls;
        using System.Web.UI.HtmlControls;
        using System.Web.Security;
        
        namespace Ecommerce
        {
        	/// <summary>
        	/// Description résumée de [!output SAFE_CLASS_NAME].
        	/// </summary>
        	public class login : System.Web.UI.Page
        	{
        		protected System.Web.UI.WebControls.TextBox TextBox_email;
        		protected System.Web.UI.WebControls.TextBox TextBox_pwd;
        		protected System.Web.UI.WebControls.Label Label1;
        		protected System.Web.UI.WebControls.Panel Panel1;
        		protected System.Web.UI.WebControls.Label Label3;
        		protected System.Web.UI.WebControls.ImageButton ImageButton1;
        		protected System.Web.UI.WebControls.ImageButton ImageButton2;
        		protected System.Web.UI.WebControls.ImageButton ImageButton3;
        		protected System.Web.UI.WebControls.Label lbl_message;
        		protected System.Web.UI.WebControls.DataGrid DataGrid1;
        		protected System.Web.UI.WebControls.Image Image1;
        		protected System.Web.UI.WebControls.Image Image2;
        		protected System.Web.UI.WebControls.ImageButton ImageButton4;
        		protected System.Web.UI.WebControls.Image Image3;
        		protected System.Web.UI.WebControls.ImageButton ImageButton5;
        		protected System.Web.UI.WebControls.Label Label4;
        		protected System.Web.UI.WebControls.Panel Panel2;
        		protected System.Web.UI.WebControls.Label Label2;
        	
        		private void Page_Load(object sender, System.EventArgs e)
        		{
        			// Placer ici le code utilisateur pour initialiser la page
        		}
        
        		#region Web Form Designer generated code
        		override protected void OnInit(EventArgs e)
        		{
        			//
        			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
        			//
        			//Trace.IsEnabled = true;
        			InitializeComponent();
        			base.OnInit(e);
        		}
        		
        		/// <summary>
        		/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
        		/// le contenu de cette méthode avec l'éditeur de code.
        		/// </summary>
        		private void InitializeComponent()
        		{    
        			this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
        			this.ImageButton2.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton2_Click);
        			this.Load += new System.EventHandler(this.Page_Load);
        
        		}
        		#endregion
        
        		private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        		{
        			//Trace.Write("Click sur bouton","Identification");
        			// Appel WS identification : renvoie string (0:echec ou 1:succes)
        			hertz.Service_auth ws_auth = new hertz.Service_auth();
        
        			string result_id = ws_auth.webauth(TextBox_email.Text, TextBox_pwd.Text);
        
        			if(result_id == "1")
        				FormsAuthentication.RedirectFromLoginPage(TextBox_email.Text,true);
        				// Identification reussie
        			else
        			{
        				// Erreur identification
        				lbl_message.Visible = true;
        			}
        		}
        
        		private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        		{
        			Response.Redirect("inscription.aspx");
        		}
        	}
        }
        
        


        et le webservice qui va verifier que le login + pass est bon dans la table (ici sql serveur mais cela ne doit pas beaucouip changer pour mysql)

        using System;
        using System.Collections;
        using System.ComponentModel;
        using System.Data;
        using System.Diagnostics;
        using System.Web;
        using System.Web.Services;
        
        namespace WSpgasi_authentification
        {
        	/// <summary>
        	/// Description résumée de [!output SAFE_CLASS_NAME].
        	/// </summary>
        	public class Service_auth: System.Web.Services.WebService
        	{
        		public Service_auth()
        		{
        			//CODEGEN : Cet appel est requis par le Concepteur des services Web ASP.NET
        			InitializeComponent();
        		}
        
        		private System.Data.SqlClient.SqlConnection sqlConnection1;
        
        		#region Component Designer generated code
        		
        		//Requis par le Concepteur des services Web 
        		private IContainer components = null;
        				
        		/// <summary>
        		/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
        		/// le contenu de cette méthode avec l'éditeur de code.
        		/// </summary>
        		private void InitializeComponent()
        		{
        			this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
        			// 
        			// sqlConnection1
        			// 
        			this.sqlConnection1.ConnectionString = "data source=HERTZ;initial catalog=3cp14;integrated security=SSPI;persist security" +
        				" info=False;workstation id=PC-NT-01;packet size=4096";
        
        		}
        
        		/// <summary>
        		/// Nettoyage des ressources utilisées.
        		/// </summary>
        		protected override void Dispose( bool disposing )
        		{
        			if(disposing && components != null)
        			{
        				components.Dispose();
        			}
        			base.Dispose(disposing);		
        		}
        		
        		#endregion
        
        		// EXEMPLE DE SERVICE WEB
        		// L'exemple de service HelloWorld() retourne la chaîne Hello World
        		// Pour générer, retirez les commentaires des lignes suivantes, puis enregistrez et générez le projet
        		// Pour tester ce service Web, appuyez sur F5
        
        //		[WebMethod]
        //		public string HelloWorld()
        //		{
        //			return "Hello World";
        //		}
        		[WebMethod]
        		public string webauth(string user,string password)
        		{
        			
        			string select = "SELECT * FROM login WHERE(login='"+user+"' AND password='"+password+"');";
        			try
        			{
        				//initialisation de la connection
        				sqlConnection1.Open();
        				//creation de la commande
        				System.Data.SqlClient.SqlCommand sqlCommande1 = new System.Data.SqlClient.SqlCommand(select,sqlConnection1);
        				//on lance la commande et on recupere le nombre de lignes affectés
        				//si 0 l utilisateur n est pas referencé
        				//si 1 authentification effectué
        				System.Data.SqlClient.SqlDataReader reader = sqlCommande1.ExecuteReader();                                                                               
        				//on verifie le retour
        				if(reader.Read())
        				{
        					return  "1";
        				}
        				else
        				{
        					return "0";
        					
        				}
        				
        
        			}
        			catch(System.Exception e)
        			{
        				return e.Message +select;
        			}
        			finally
        			{
        				//et on ferme la connection
        				sqlConnection1.Close();
        			}
        
        			
        		}
        	}
        }