ASP- session

Fermé
Marlene - 1 mars 2005 à 15:21
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 - 1 mars 2005 à 16:20
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

j'ai une base mysql avec une table client avec un ID un login et un mot de passe
1
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
1 mars 2005 à 15:30
cela depend par quoi tu veux passer pour l'authentification..
AD, SQL...
0
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
1 mars 2005 à 16:20
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