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

Web & réseau Delphi Discussion :

Problème Gestion Session Intraweb


Sujet :

Web & réseau Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Problème Gestion Session Intraweb
    Salut et bonjour fan delphi;

    suite aux besoins de mon travail, je suis entrain développer une application Intraweb sous delphi 2009 (environnement Windows), une application de Base de données d'accès distant, reliant le service où je travail, avec un autre bâtiment via une connexion RTC de 28 Kb/s, la connexion est parfaite les raquettes rapides, la consultation s’effectue à merveille.

    Au niveau des sessions utilisateurs, quand un utilisateur s’authentifie je stock ses identifiants (Session et mot de passe) dans un fichier texte que je crée dans un répertoire ayant le nom des segments de la même session, pour les recharger si besoin, les droits d'accès sont stockées dans une table Access, si l'utilisateur (X) est connecté un champs Connecté type boolean := True, sinon il reçoit false.

    Le problème est quand l'utilisateur se déconnecte directement en fermant la navigateur, j'arrive pas à:

    01- intercepter la fermeture du navigateur.
    02- Gérer les variables au niveau de la Usersession.
    03- je veux si possible injecter des variables spécifique à chaque utilisateur ex: Username et non globaux, ou pouvoir les extraire du fichier texte qui s'enregistre automatiquement qund l'utilisateur s'authentifie.

    merci, et j'espère que que ma question n'est pas aussi bête

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 290
    Points : 41 753
    Points
    41 753
    Billets dans le blog
    65
    Par défaut
    Bonjour, et bienvenue sur le forum

    suite aux besoins de mon travail, je suis entrain développer une application Intraweb sous delphi 2009 (environnement Windows), une application de Base de données d'accès distant, reliant le service où je travail, avec un autre bâtiment via une connexion RTC de 28 Kb/s, la connexion est parfaite les raquettes rapides, la consultation s’effectue à merveille.
    pourquoi un programme Intraweb ? enfin là n'est pas le sujet

    01- intercepter la fermeture du navigateur.
    utilisation de ondestroy de la session ?
    //ce code + celui du point 02 représente la totalité de mon unité IWUserSession
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TIWUserSession.IWUserSessionBaseDestroy(Sender: TObject);
    begin
    DeleteFile(pdfname);
    FreeAndNil(iwDatas);
    end;
    02- Gérer les variables au niveau de la Usersession.
    je comprends pas le terme 'gérer'
    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
     
    uses
      IWUserSessionBase, SysUtils, Classes, DatamoduleUnit;
    type
      TIWUserSession = class(TIWUserSessionBase)
        procedure IWUserSessionBaseCreate(Sender: TObject);
        procedure IWUserSessionBaseDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        iwdatas : TDatas;
        increment : Integer;
        Marque : String;
        pdfname : String;
        repImage : String;
        Langue : String;
      end;
     
    implementation
     
    uses ServerController;
    {$R *.dfm}
     
    procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
    begin
    Increment:=-1;  // initialisation d'une variable 
    iwDatas:=TDatas.Create(Self);  // création d'un datamodule
    end;
    le code du point 03 montre une utilisation de ces variables
    03- je veux si possible injecter des variables spécifique à chaque utilisateur ex: Username et non globaux, ou pouvoir les extraire du fichier texte qui s'enregistre automatiquement qund l'utilisateur s'authentifie.
    autrement dit les cookies , j'ai fourni dans un de mes posts récents une unité que j'avais trouvé sur le net , cependant c'est avec la version IW 14 ,dans les versions précédentes on utilise une TStringlist pour passer les cookies
    Code iwmain : 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
     
    interface 
     uses ....  ServerController, UserSessionUnit, .... ;  // bien sur ne pas oublier d'indiquer l'utilisation des unités (point 01)
    ....
    // lecture de cookies
      UserSession.marque:=WebApplication.Request.CookieFields.Values['Marque'];
     UserSession.Langue:=WebApplication.Request.CookieFields.Values['Language'];
    // envoi de cookies durée de vie 10 jours (IncDay(Now,10))
    var slist : TStringList;
    ...
    begin
      sList := TStringList.Create;
      sList.Add('Increment='+inttostr(usersession.increment));
      sList.Add('Marque='+userSession.Marque);
      sList.Add('Language='+UserSession.Langue);
      WebApplication.Response.SetCookieField(sList,'','',IncDay(Now,10),false);
      sList.Free;
    end;

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 10h54
  2. Réponses: 17
    Dernier message: 18/11/2011, 15h56
  3. problème gestion session
    Par OLman135 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/10/2011, 18h14
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 15h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 10h21

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