IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

WebService et asp.net


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 8
    Points : 11
    Points
    11
    Par défaut WebService et asp.net
    Bonjour
    Je travaille sur un projet de WebServices que j'ai développé récemment. Ensuite j'ai mis en place une page web pour permettre à des utilisateurs de s'authentifier afin d'atteindre la page d'administration. Tout se passe bien quand j'exécute l'ensemble du projet sur VS2010, mais après publication (j'utilise IIS7), je tente de lancer la page d'administration directement avec son URL et je tombe dessus sans qu'il ne passe pas la page d'authentification. J'ai beau cherché mais jusque là rien. Vraiment besoin de votre aide. Merci
    Je joints le code de ma page login, testlogin et page d'administration.

    Merci de bien vouloir me donner des pistes et indications

    PS:Je rappelle que j'ai mis une petite Dal (Base de données de 3 utilisateurs juste et mots de passe) pour mes tests d'authentification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    using System;
    using System.Web;
    using System.Data;
    using System.Text;
    using System.Linq;
    using System.Web.UI;
    using System.Drawing;
    using MonEssaiWeb.Dal;
    using System.Diagnostics;
    using System.Data.Objects;
    using System.Web.Security;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Web.UI.WebControls;
    using System.Collections.Generic;
    using System.Data.Entity;
     
    namespace MonEssaiWeb
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
     
            protected void Page_Load(object sender, EventArgs e)
            {
            }
     
            protected void BtnLogin_Click(object sender, EventArgs e)
            {
                string Name = TextBox1.Text;
                var PassWord = psw.Value;
     
     
                DalLogin dal_login = new DalLogin();
                if (dal_login.TestPassword(Name, PassWord))
                {
                    Response.Redirect("MonEssaiWeb.aspx");
                }
                else
                {
                    string message = "Identifiant ou mot de passe incorrect";
                    Page.ClientScript.RegisterClientScriptBlock(GetType(), "Alerte", string.Format("alert('{0}')", message), true);
                }
                Session.Clear();
            }
     
            protected void BtnClear_Click(object sender, EventArgs e)
            {        
            }
        }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using MonEssaiWeb.Db;
     
    namespace MonEssaiWeb.Dal
    {
     
        public class DalLogin
        {
            public static int Test;
     
            public bool TestPassword(string username, string password)
            {
                using (loginEntities ent = new loginEntities())
                {
                    //Linq to Entities
     
                    //ent.login -> contenu de la table login (lignes)
                    //ent.login.Where(l => l.Name == "Toto") -> retourne
                    //toutes les lignes avec Name = "Toto"
                    //ent.login.Where(l => l.Name == "Toto").FirstOrDefault() ->
                    //retourne la première ligne avec Name = "Toto" ou null si
                    //aucune n'a été trouvée
     
                    login un_login = ent.login
                        .Where(login => login.Name == username
                            && login.Password == password)
                        .FirstOrDefault();
     
                    if (un_login != null)
                    {
                        string comment = un_login.Comment;
                        Test = 1;
                        return true;
     
                    }
                    else
                    {
                        return false;
                    }
                }
            }
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text;
    using System.Diagnostics;
    using System.Web.Security;
    using MonEssaiWeb.Dal;
     
    namespace MonEssaiWeb
    {
        public partial class _Default : System.Web.UI.Page
        {
            public string Name;
            public string PassWord;
            public StringBuilder HTML = new StringBuilder(256);
            public StringBuilder Btn = new StringBuilder(256);
     
            public string Output
            {
                get
                {
                    return this.HTML.ToString();
                }
            }
     
            public string _RdButton
            {
                get
                {
                    return this.Btn.ToString();
                }
            }
     
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Dal.DalLogin.Test != 1)
                {
                    Response.Redirect("Connexion.aspx");
                }
            }
    }
    }

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Pour la gestion de la sécurité, le .NET Framework embarque des mécanismes spécifiques et beaucoup plus robustes que ce que tu fais. Il est plus que recommandé de les utiliser, sauf si tu es un expert en sécurité ASP.NET où là tu peux te permettre de faire un développement maison. Le développement que tu as fait ne garanti pas une sécurité totale sur ton application : il ne suffit pas de renvoyer true ou false pour identifier quelqu'un suite à une comparaison en base de données, il faut aussi s'assurer que l'environnement dans lequel le code s'exécute est sécurisé, utiliser un cookie, etc.

    Donc le meilleur conseil que l'on puisse te donner, c'est de laisser tomber le code que tu as publié ici. Renseigne-toi sur ASP.NET Identity V2 qui te permettra assez rapidement de sécuriser ton application de la bonne façon. Google regorge de liens à ce sujet. Petite info au passage, quand tu trouves des codes sur Internet qui sont liés à ASP.NET Identity, vérifie bien qu'il s'agisse de la V2 car il y a pas mal de différences entre la V1 et la V2, mais la version n'est pas toujours clairement indiquée.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [ASP.NET] Configuration pour webservice
    Par Le-Cortex dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/03/2010, 17h35
  2. [ASP.NET][JS]Réponse d'un webservice
    Par Le-Cortex dans le forum Services Web
    Réponses: 5
    Dernier message: 28/08/2007, 14h13
  3. Webpart, Webservice, Sharepoint, asp.net
    Par Kapitteli dans le forum SharePoint
    Réponses: 6
    Dernier message: 28/07/2007, 15h46
  4. WebService Asynchrone et ASP.NET
    Par ostenhard dans le forum Services Web
    Réponses: 17
    Dernier message: 27/07/2007, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo