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 :

empecher l'utilisateur de faire retour en arrière apres déconnexion


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut empecher l'utilisateur de faire retour en arrière apres déconnexion
    Bonjour ,
    Je suis entrain de réaliser une application web avec ASP.net et c# et une BD SQL Server. J'ai eu un petit probleme et j'espère que quelqu'un peut m'aider :

    Dans ma page j'ai mis un bouton déconnexion qui renvoi l'utilisateur a la page du login , mais le problème c'est que quand j'appuie sur précédent il y a la page qui s'affiche de nouveau. Comme vous voyez ce n'est pas sécurisé. Normalement quand l'utilisateur se déconnecte il ne doit avoir l'accés aux pages qu'aprés son authentification.
    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Aucune idée,
    mais cette question irai plutot dans le forum consacré à l'ASP. Ton problème est purement WEB et n'a rien a voir avec le C# ou n'importe quel autre langage .Net pouvant être utilisé pour l'ASP.

    Moi personnellement ca ne me choque pas que l'utilisateur retrouve sa page précédente quand il clique sur précédent puisque le navigateur n'est pas obligé de refaire la requête de la page, il peut l'avoir conservé en cache. Le moindre clic sur un lien de la page devra par contre échouer s'il des droits sont requis puisqu'une navigation implique que le navigateur effectue une requête.
    Si tu tiens vraiment à empêcher le "précédent" de fonctionner je pense qu'il te faudra inclure un petit code javascript dans chaque page qui va tester si l'utilisateur est authentifié et si ce n'est pas le cas effectuer une redirection ou quelque chose du genre.

    Mais les pros du web sauront mieux te répondre que moi.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    je te remercie pour ta réponse ,
    j'ai essayé d'appeler une fonction close que j'ai créer dans la classe connexion de mon projet mais ca ne marche toujours pas , et j'ai vu dans des discussion que je dois vider le cache mais je sais pas trop comment :s

  4. #4
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    salut fasarah!
    Ton problème n'est pas trop difficile , enfin vu que c'est déja résolu sur ce forum! Une petite recherche te fera du bien

    En résumé, si tu utilises les variables de session je suppose que tu fermes sa session après que l'utilisateur ait cliqué sur Déconnexion! un truc de ce genre:

    Que tu le mettes dans une fonction ou autre c'est toi qui décides!

    Ainsi dans toutes tes pages où celui-ci devrait accéder grâce à la session ouverte tu mettras dans ton page_load()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Response.Cache.SetCacheability(HttpCacheability.NoCache)
        if session.item("NomSession")="" then 'Teste si la session est vide'
       response.redirect("formulaire.aspx") 'Renvoie l utilisateur vers le formulaire par exemple'
     
        elseif (Session("NomSession")<>"")
      'Cas contraire il accède à la page'
    	end if
    ça devrait marcher!
    PS: c'est du vb amuse toi à le transformer en C#
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Bonjour Sonny Fab ,
    merci pour votre réponse je l'ai essayé pour une page et ça a marché
    c'est la premiere fois que j"assaye de programmer en asp et c#, c'est pour cela que mes connaissance sont tres modeste
    voici le code que j'utilisais pour pageload :
    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
     try
                {
                    lNomUti1.Text = Session["user"].ToString();
                    if (Session["page"].Equals("Consultation"))
                    {
                        lNomUti1.Enabled = true;
                        lEnvDem1.Enabled = true;
                        lCons1.Enabled = false;
                        lDec1.Enabled = true;
     
                    }
                }
                catch (NullReferenceException ex)
                {
                    Response.Redirect("~/Login.aspx");
                }
    et pour le bouton deconnecter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     protected void lDec_Click(object sender, EventArgs e)
            {
                Session.Abandon();
                Response.Redirect("~/Login.aspx");
            }
    j'ai ajouté la condition if au milieu de l'exeption et ça a marché
    merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Retour en arrière après chaque espace
    Par Fluch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/03/2014, 13h38
  2. Réponses: 3
    Dernier message: 07/03/2014, 14h16
  3. Retour en arrière après chaque espace
    Par deadly_muffin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2011, 09h12
  4. faire un retour en arrière après tri sur Excel
    Par homerlehamster dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2010, 13h33
  5. Empecher un utilisateur de faire un PrintScreen
    Par Bighobbit dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/10/2006, 18h08

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