Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2004, 23h28   #1
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
Par défaut Tutoriel: Comment personnaliser la sécurité XMLRAD

un nouveau tutoriel pour une question qui est très demandée:
Comment gérer la sécurité XMLRAD à partir de la base de données ?
http://xmlrad.developpez.com/Articles/Authentification/
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2006, 16h45   #2
Candidat au titre de Membre du Club
 
Inscription : janvier 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 26
Points : 13
Points : 13
Par défaut XMLC_Pivot altéré par onAuthenticate

Bonsoir,
Merci pour votre excellent article : il m'a servi de base de départ pour un monde que je connaissais pas.

J'ai buté ensuite sur les pivots qui ne fonctionnaient plus avec ce système en place.

Je pense en avoir trouvé la raison : XMLCollection.DBForEach altère le contenu de XMLC_Pivot. Dans la procédure onAuthenticate il suffit au début de le sauvegarder, et de le restaurer dans le finally, et tout rentre dans l'ordre.

Georges
Georges_Lauret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2007, 12h25   #3
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Citation:
Envoyé par Georges_Lauret
Bonsoir,
Merci pour votre excellent article : il m'a servi de base de départ pour un monde que je connaissais pas.

J'ai buté ensuite sur les pivots qui ne fonctionnaient plus avec ce système en place.

Je pense en avoir trouvé la raison : XMLCollection.DBForEach altère le contenu de XMLC_Pivot. Dans la procédure onAuthenticate il suffit au début de le sauvegarder, et de le restaurer dans le finally, et tout rentre dans l'ordre.

Georges
Merci pour le tip ;-) je viens de tomber exactement sur ce souci...
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2007, 17h28   #4
Membre du Club
 
Inscription : février 2003
Messages : 89
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 89
Points : 44
Points : 44
Pourquoi ne pas mettre un exemple du code.
Cela peut servir à tout le monde...
powerlog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2007, 19h38   #5
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Citation:
Envoyé par powerlog
Pourquoi ne pas mettre un exemple du code.
Cela peut servir à tout le monde...
Oui, désolé...
Je reprends l'exemple (OnAuthenticate) du code Delphi dans le tuto de RDM, en vert les modifs :

Code :
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
procedure TTrainingAdm.XMLCollectionEvents1Authenticate(XMLCollection: IXMLCollection; e: TAuthenticateEventArgs);
var
  Database: IDacDatabase;
  Session: WideString;
  USR_NAME: WideString;
  Expiration: TDateTime;
  SavePivot: WideString;
begin
  SavePivot := Context.GetValue('XMLC_Pivot');
  if CompareText(XMLApplication.InitParams.Values['XMLC_SecurityLevel'], 'GUEST') = 0 then
  begin
    Context.SetValue('XMLC_Authenticated', '1');
    Exit;
  end;  
  Database := XMLCollection.GetDatabase('Database');
  if Database = nil then
  	XMLRequest.RaiseError('Cannot find database', 'TTrainingWM.XMLCollectionEvents1Authenticate');
  if not Database.GetConnected then
    Database.Open;
  Database.StartTransaction;
  try
    try
      e.Handled := True;
      USR_NAME := Context.GetValue('XMLC_UserName');
      Session := Context.GetValue('XMLC_Session');
      Context.SetValue('USR_NAME', USR_NAME);
      Context.SetValue('USR_SESSION', Session);
      XMLCollection.DBExtract('qryUSRSession');
      if Context.GetValue('USR_ID') = '' then
      begin
        Context.SetValue('XMLC_Authenticated', '0');
        XMLRequest.RaiseError('XMLC_AUTHENTICATION_REQUIRED', 'TTrainingWM.XMLCollectionEvents1Authenticate');
      end;
      Expiration := StrToFloatDef(Context.GetValue('USR_EXPIRATION'), 0);
      if Expiration < Now then
      begin
        Context.SetValue('XMLC_Authenticated', '0');
        XMLRequest.RaiseError('XMLC_AUTHENTICATION_REQUIRED', 'TTrainingWM.XMLCollectionEvents1Authenticate');
      end;
      Context.SetValue('XMLC_Authenticated', '1');
      // mettre ici le code de gestion des groupes et autorisations (cf Personnaliser l'autorisation)
    except
      Database.Rollback;
      raise;
    end;
  finally
    Context.SetValue('XMLC_Pivot', SavePivot);
    Database.Commit;
  end;
end;
Probablement que dans les prochaines releases >2006, ce sera fixé par l'éditeur.

Sylvain
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h07.


 
 
 
 
Partenaires

Hébergement Web