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 :

Gestion approfondie des utilisateurs


Sujet :

XMLRAD

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut Gestion approfondie des utilisateurs
    Bonjour,
    J'aimerai savoir si quelqu'un sais comment avec les "security" attribuer des droits autres que l'accès ou non aux XMLServices. cad, que j'aimerai pouvoir filtrer des données dans une table en fonction de l'utilisateur connecté.
    Merci
    Lux

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    C'est à toi que de modifier dynamiquement ta requête SQL en fonction de l'ID de l'utilisateur connecté. Utilises la syntaxe condensé des accolades. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MyTable.ID, MyTable.NAME
    FROM MyTable
    WHERE MyTable.USER_ID = {$ID_USER_CONNECTED}
    Décris nous un peu plus ce que tu veux faire
    Julien C.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 211
    Points : 85
    Points
    85
    Par défaut
    Ca ressemble un peu a la question que j'ai poser sur le verrouillage d'un lien. Moi dans un menu j'affiche ou non des liens suivant si l'utilisateur appartient a un groupe admin ou non.
    Pour cela je récupère le login de celui qui est connecté, j'inclu le fichier <projet>.Security.xml et je vérifie l'appartenance au groupe pour la personne qui est loggué soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <xsl:for-each   select="Security/Users/User">
    <xsl:if test="Name = /document/XMLC_Params/XMLC_UserName">
    <xsl:for-each select="Groups">
    <xsl:if test="Group='39'">
    <td>
    <a target="Main" href="{/document/Aliases/ModuleFicheDLL}FormCreatefiche">
    <p> | Ajout fiche</p>
    </a>
    </td>
    </xsl:if>
    </xsl:for-each>
    </xsl:if>
    </xsl:for-each>
    Je sais pas si cela répond a ta question mais sinon précise un peu.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    En fait j'ai constitué une liste d’utilisateurs avec un accès filtré sur différent pays. Par exemple l’utilisateur « Boby » n’a la visibilité que sur les individus habitant les USA et le Canada, l’utilisateur « JR » n’a la visibilité que sur les individus habitant le Chili. Bien entendu cette liste peut évoluée avec le temps. C'est-à-dire que des nouveaux utilisateurs peuvent apparaître ou disparaître et que leurs droits peuvent évolués. La meilleure solution pour moi serait d’utiliser à 100% les « Security » d’XMLRAD mais je pense être obligé de passer par une table SQL regroupant les utilisateurs.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    Le module "Security" d'XMLRAD permet de mettre en place un contrôle au niveau de l'accès de modules et/ou d'actions bien précis. Les groupes permettent de définir des rôles et d'accorder ou non aux utilisateurs, le droit d'éxécuter telle ou telle action.

    Donc en effet, tu vas devoir gérer la sécurité par toi même dans la mesure où tu as une sécurité spécifique. Il te faudra surement maintenir une table de correspondance entre tes utilisateurs et la liste des pays auxquels ils ont accès. Soit tu fais ca dans une table d'une base de données, soit tu fais un fichier XML dans lequel tu stock toutes ces infos.. Si elles sont peu nombreuses, je te conseille le fichier XML..

    Voilà !
    Julien C.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Merci pour ces infos precieuses.
    Je suis sur la voie, je vous tiens au courrant.
    Lux.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Si ça peut intéresser quelqu’un. J’ai réglé mon problème de la manière suivante :
    Je me suis servit de la propriété "Infos" attachée à chaque utilisateur et j’y ai mis les codes pays correspondants aux droits définis par mon client. Par exemple :
    Pour Boby --> Infos : ‘US’ , ‘GB’, ‘F’
    Pour JR --> Infos : ‘JP’, ‘ES’

    En suite j’ai ajouté le code suivant dans ma dll qui me permet de récupérer la valeur de la propriété “Infos” pour un nom d’utilisateur donné :

    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
    function TVinexpoProWebWM.GetUserInfo(UserName: String) : string;
    var
      FileName: string;
      SecurityDoc: IXMLCursor;
      User: IXMLCursor;
    begin
      FileName := XMLApplication.get_AppPath+'VinexpoProWeb.Security.xml';
      SecurityDoc := TXMLCursor.Create;
      SecurityDoc.Load(FileName);
      User := SecurityDoc.Select('/Security/Users/*');
      while not User.EOF do begin
         if User.GetValue('Name_') = UpperCase(UserName) then begin
          GetUserInfo := User.GetValue('Infos');
          exit;
         end;
         User.Next;
      end;
      GetUserInfo := '''User not find !''';
    end;

    Puis dans mon événement « BeforeXMLGram » je construis ma requête dynamiquement avec notamment le morceau de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QRY := QRY + ' AND V.CodePays IN ('+ GetUserInfo(Context.GetValue('XMLC_UserName'))+')';
    Voilà, bon, c’est peut être pas bien élégant mais ça marche.
    (JE SUIS CERTAIN QU’IL Y A PLUS SIMPLE ….)

    Lux

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    BOOoouuuhhh !!! Il utilise un "IN" dans sa requête SQL !! Pouuuaaah !!

    Je pense que tu peux carrément modifier la grappe User, et rajouter tes propres sous-éléments spécifiques à tes besoins. Par exemple :

    <USER>
    <ID>15</ID>
    <NAME>TOTO</NAME>
    <INFOS>...</INFOS>
    <COUNTRIES>US, UK, FR</COUNTRIES>
    </USER>

    En revanche il te faudra éditer le fichier Security à la main, puisque la propriété COUNTRIES sera inconnue de l'éditeur XMLRAD.
    Julien C.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Qu'est ce qui cloche avec mon 'IN' ????
    J'ai le sentiment d'avoir fait une enorme bétise

    Par contre bien vu pour les ajouts de balises dans le fichier Security

    Lux

  10. #10
    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
    Le IN n'as pas comme réputation d'être super performant.
    Bon heureusement ce n'est pas un SubSelect qui est dans ton IN donc ca peut aller. Mais ne général on evite tant que possible.
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Donc je remplace mon 'IN' par une suite de 'OR' ?

    ( Nous sortons ici un peu du forum XMLRAD milles excuses )

    Lux

  12. #12
    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
    A toi de voir sur l'execution de la requête. Les OR peuvent aussi brassais pas mal d'enregistrements...
    RDM
    Tout Est Relatif
    Rubrique XMLRAD: http://xmlrad.developpez.com
    FAQ XMLRAD: http://xmlrad.developpez.com/faq/

Discussions similaires

  1. [MediaWiki] Cherche Wiki avec gestion simple des utilisateurs
    Par aktos dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 25/11/2007, 15h11
  2. [Oracle]probleme de gestion des utilisateurs
    Par gentarik dans le forum Oracle
    Réponses: 5
    Dernier message: 09/03/2005, 12h58
  3. [Gestion des utilisateurs] Changer l'interface simplifiée
    Par sekiryou dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/01/2005, 05h42
  4. Administration MySQL gestion des utilisateurs
    Par MaxiMax dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2004, 13h56
  5. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29

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