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

XMLRAD Discussion :

PB checkAuthentication


Sujet :

XMLRAD

  1. #1
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Points : 55
    Points
    55
    Par défaut PB checkAuthentication
    J'utilise la gestion de la sécurité à partir d'une BDD, tout fonctionne bien
    Dans un XMLSERVICE, je fais un Insert qui fonctionne et normalement et normalement envoie des mails à différents interlocuteurs du dossier
    Mais mail n'arrivent jamais.
    Dans les trace, voila ce que je trouve :
    15:41:11 925.408 12 PASCONTENTMAIL 399 RequestStart 3 10.27.201.104 Async =oundary=-----------------------------7d62c710f0636 =oundary Length=42 =extAction=SearchFormdevelo_g_clig1 =A_SUPPRIME=0 =A_AGENT_2=340 =A_AGENT=230 =A_M_PRESTATION=0 =A_M_ERREUR=0 =A_M_PRIX=0 =A_M_DELAI=0 =A_M_RELATIONNEL=0 =A_M_GENERALE=0 =A_M_AUTRE=0 =A_P_SERVICE=0 =A_P_ACCUEIL=0 =A_P_CONSEIL=0 =A_P_DELAI=0 =A_P_RELATIONNEL=0 =A_P_AUTRE=0 =A_code_client=3271169 =earchText=VAAS JOHNNY Params[20+] not logged.
    15:41:11 926.195 12 PASCONTENTMAIL 399 TXMLApplication 2 TXMLApplication.CheckAuthentication - Cannot find user XMLC_UserName[AG27399] in Security.xml
    15:41:11 926.421 0 - 0 TXMLCollectionThread 1 Execute - Exception in XMLApplication.XMLCollectionDispatchRequest: XMLC_UNKNOWN_USER
    15:41:11 926.519 12 PASCONTENTMAIL 399 TXMLApplication 1 GetAvailableXMLCollectionAndDispatchRequest - Exception: XMLC_UNKNOWN_USER
    15:41:11 926.604 12 PASCONTENTMAIL 399 TXMLRequestQueueThread 2 TXMLRequestQueueThread.Execute - Exception: XMLC_UNKNOWN_USER
    15:41:11 928.722 12 PASCONTENTMAIL 399 AsyncRequestError 1 H:\XMLRAD\CARTE_T\Data\AsyncErrors\20060323\20060323.154111.092747.12.log
    15:41:11 928.817 12 PASCONTENTMAIL 399 TXMLApplication 1 TXMLApplication.HandleException for exception: XMLC_UNKNOWN_USER
    15:41:11 936.172 12 PASCONTENTMAIL 399 RequestError 1 H:\XMLRAD\CARTE_T\Data\Log\20060323\20060323.154111.929890.log
    15:41:11 940.359 12 MAILTECH 399 RequestStart 3 10.27.201.104 Async =oundary=-----------------------------7d62c710f0636 =oundary Length=42 =extAction=SearchFormdevelo_g_clig1 =A_SUPPRIME=0 =A_AGENT_2=340 =A_AGENT=230 =A_M_PRESTATION=0 =A_M_ERREUR=0 =A_M_PRIX=0 =A_M_DELAI=0 =A_M_RELATIONNEL=0 =A_M_GENERALE=0 =A_M_AUTRE=0 =A_P_SERVICE=0 =A_P_ACCUEIL=0 =A_P_CONSEIL=0 =A_P_DELAI=0 =A_P_RELATIONNEL=0 =A_P_AUTRE=0 =A_code_client=3271169 =earchText=VAAS JOHNNY Params[20+] not logged.
    15:41:11 941.114 12 MAILTECH 399 TXMLApplication 2 TXMLApplication.CheckAuthentication - Cannot find user XMLC_UserName[AG27399] in Security.xml
    15:41:11 941.330 0 - 0 TXMLCollectionThread 1 Execute - Exception in XMLApplication.XMLCollectionDispatchRequest: XMLC_UNKNOWN_USER
    15:41:11 941.415 12 MAILTECH 399 TXMLApplication 1 GetAvailableXMLCollectionAndDispatchRequest - Exception: XMLC_UNKNOWN_USER
    15:41:11 941.494 12 MAILTECH 399 TXMLRequestQueueThread 2 TXMLRequestQueueThread.Execute - Exception: XMLC_UNKNOWN_USER
    15:41:11 942.790 12 MAILTECH 399 AsyncRequestError 1 H:\XMLRAD\CARTE_T\Data\AsyncErrors\20060323\20060323.154111.119335.12.log
    15:41:11 942.908 12 MAILTECH 399 TXMLApplication 1 TXMLApplication.HandleException for exception: XMLC_UNKNOWN_USER
    15:41:12 373.242 12 MAILTECH 399 RequestError 1 H:\XMLRAD\CARTE_T\Data\Log\20060323\20060323.154111.943983.log
    Il me parle de checkAuthentication et de security.xml.
    Dans le projet je suis en niveau Global.
    J'envoie mes mail de façon asynchrone

  2. #2
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    peux tu donner le code de ton OnAuthenticate ?

    peux tu décrires les XMLServices que tu utilises et de quel facon ?

  3. #3
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Points : 55
    Points
    55
    Par défaut
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    if XMLApplication.InitParams.Values['XMLC_Design'] = '1' then
              begin
                USR_NAME := 'AG27399' ;
                Context.Values['code_agtp'] := '399';
                Context.Values['XMLC_Authenticated'] := '1';
                exit;
              end;
      Database := (XMLCollection as IXMLCollection2).GetDatabaseComponent('Database');
      if not Database.Connected then
        Database.Connected := True;
      Database.StartTransaction;
      try
        try
          e.Handled := True;
          XMLApplication.CheckSecurityFile;
          USR_NAME := Context.Values['XMLC_UserName'];
          Session := Context.Values['XMLC_Session'];
          Context.Values['code_agtp'] := rightstr(USR_NAME,3);
          Context.Values['id_session'] := Session;
          XMLCollection.DBExtract('qryUSRSession');
     
          if Context.Values['code_agtp'] = '' then
          begin
                Context.Values['XMLC_Authenticated'] := '0';
                XMLRequest.RaiseError('XMLC_AUTHENTICATION_REQUIRED', 'TTrainingWM.XMLCollectionEvents1Authenticate');
          end;
          Expiration := StrToFloatDef(Context.Values['expiration'], 0);
          if Expiration < Now then
          begin
            Context.Values['XMLC_Authenticated'] := '0';
            XMLRequest.RaiseError('XMLC_AUTHENTICATION_REQUIRED', 'TTrainingWM.XMLCollectionEvents1Authenticate');
          end;
          Context.Values['XMLC_Authenticated'] := '1';
     
          // Manage Groups
          for I := 0 to XMLApplication.SecurityGroups.Count-1 do
          begin
            GroupFieldName := XMLApplication.SecurityGroups.GetValueNo(I);
            if GroupFieldName <> '' then
              Context.SetValue(GroupFieldName, '0');
          end;
          XMLCollection.DBExtract('qryUSRGroups');
          Context.Values['XMLC_Guest'] := '1';
          if Context.Values['CA_UTI_NIV'] = '3' then
          begin
            Context.values['XMLC_User'] := '1';
            Context.values['ECOUTE_CLIENT'] := '1';
          end else if Context.Values['CA_UTI_NIV'] = '2' then
          begin
            Context.values['XMLC_User'] := '1';
            Context.values['XMLC_Administrator'] := '1';
            Context.values['ECOUTE_CLIENT'] := '1';
          end else if Context.Values['CA_UTI_NIV'] = '1' then
          begin
            Context.values['XMLC_User'] := '1';
            Context.values['XMLC_Administrator'] := '1';
            Context.Values['XMLC_Supervisor'] := '1';
            Context.values['ECOUTE_CLIENT'] := '1';
          end else if Context.Values['CA_UTI_NIV'] = '4' then
          begin
            Context.values['ECOUTE_CLIENT'] := '1';
          end;
        except
          Database.Rollback;
          raise;
        end;
      finally
        Database.Commit;
      end;

  4. #4
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Points : 55
    Points
    55
    Par défaut
    pour les xmlservices, J'ai une form de saisie qui a pour action un Bussness Service InsertCartet1, qui fait un simple Insert dans une table.
    Dans l'evènement AFTERXMLGRAM, j'ai ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Niveau := Context.GetValue('CA_NIVEAU');
      Niveau_2 := Context.GetValue('CA_NIVEAU_2');
     
      if (Niveau = '1') or (Niveau = '2')  or (Niveau_2 = '1') or (Niveau_2 = '2') then
        context.Values['OBJ_MAIL'] := 'Une carte T avec évaluation négative'
      else
        context.Values['OBJ_MAIL'] := 'Une carte T'  ;
     
      //XMLCollection.Execute('PASCONTENTMAIL'); // = Instruction Invoke dans le XMLGram
       If XMLApplication.InitParams.Values['SendMail'] = '1' then
         begin
           XMLCollection.ExecuteAsync('PASCONTENTMAIL'); // !!! Attention aux parametres a mettre dans le Context (eg. CA_ID généré par le GenID !!!)
           XMLCollection.ExecuteAsync('MAILTECH'); // !!! Attention aux parametres a mettre dans le Context (eg. CA_ID généré par le GenID !!!)
         end;
    Dans MAILTECH et PASCONTENTMAIL, j'ai une SMTP Instruction

  5. #5
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    ok je crois que j'ai compris: il faut que le module qui implémente l'authentification soit aussi dans le pool Async sinon c'est l'authentification par défaut qui est prise !

  6. #6
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 77
    Points : 55
    Points
    55
    Par défaut
    C'est cela

    Merci

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

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