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 MVC Discussion :

Redirection en fin de session


Sujet :

ASP.NET MVC

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut Redirection en fin de session
    Bonjour,

    Ma question est simple, comment faire pour rediriger vers une vue lors de la fin d'une session. J'ai la méthode Session_End dans le fichier global.asax.cs qui fait quelques traitement et j'aimerais rediriger vers la page d'accueil de l'application.

    Est-ce possible ?

    Merci d'avance pour vos réponses
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    Tu ne peux pas le faire dans session_end, c'est un évènement serveur, qui n'a aucuns liens avec ton contexte http, bien essayé mais non

    D'ailleurs c'est également valable en aspnet.

    Maintenant que c'est dit les solutions qui s'offrent à toi:
    • Ajouter un bout de code dans chaque action testant si la session n'est pas nulle ou vide...
    • Utiliser des actions filter (cf http://nerddinnerbook.s3.amazonaws.com/Part9.htm)
    • Faire un hack en générant une erreur sur la page, renvoyant ensuite sur l'autentification

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    ok, merci pour les conseils, ça aurait été tellement pratique de le faire ici...
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    par contre autre petite question je suis parti sur le fait d'ajouter un bout de code dans chaque ActionResult qui teste si la session est nouvelle et qui renvoi la vue error au cas où.

    Mais dans mon appli j'ai des liens ajax qui appellent des méthodes dont le type n'est pas ActionResult, donc comment faire pour appeler une vue dans une procédure comme ça ?

    Voici un petit exemple :

    Procédure de type ActionResult :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public ActionResult PageObjet(QIQObjet oModel)
            {
     
                //test de déconnexion de session
                if (HttpContext.Session.IsNewSession)
                {
                    ViewBag.erreur = "Vous avez été déconnecté";
                    HttpContext.Session.Abandon();
                    return View("Error");
                }
     
                ......
            }
    Procédure de type différent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public MvcHtmlString GetPropsObj(string code, string nom, string NomOcc)
            {
                ech = (EchangeServer)HttpContext.Session["objEchServer"];
     
                //Récup de la liste des propriétés
                MvcHtmlString htmlResult = ech.GetPropsOccObjet(nom, code);
     
                return htmlResult;
            }
    Comment appeler une vue dans une procédure de ce genre vu que je ne peux pas appeler return View...

    Merci
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Re,

    Bah tu peux pas.

    Solution plausibles: en cas de traitement ajax, tester en amont que la session est toujours en cours, ce qui revient à repasser sur tous les appels ajax (ex http://www.openjs.com/articles/ajax/session_timeout.php).

    Ou bien, renvoyer un code spécifique sur tes réponses ajax pouis les retraiter la réponse xml à chaque fois .

    Ou bien ne rien faire, et serrer les fesses .

    Lancer un script de redirection de fin de session avec un timeout: http://forums.asp.net/t/1358574.aspx/1

    Dslé mais j'ai eut le même problème sans pour autant de trouver de bonne manière de gérer le problème.

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    merci pour ta réponse je vais voir ce que je peux faire.
    Décidément microsoft pense a tout sauf à ce qu'on veux
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

Discussions similaires

  1. message d'erreur perso lors fin de session
    Par zorba49 dans le forum ASP
    Réponses: 1
    Dernier message: 26/08/2005, 12h12
  2. detruire une cookie après fin de session
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 17h02
  3. Redirection en fin de page
    Par FamiDoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/01/2005, 17h14
  4. Probleme de redirection apres fermeture de session
    Par soufienne dans le forum ASP
    Réponses: 3
    Dernier message: 08/04/2004, 11h52

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