ASP- session

Marlene -  
Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur -
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. marlene
     
    j'ai une base mysql avec une table client avec un ID un login et un mot de passe
    1
  2. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    cela depend par quoi tu veux passer pour l'authentification..
    AD, SQL...
    0
  3. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    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();
    			}
    
    			
    		}
    	}
    }
    
    
    0