|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
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 |
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
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 :
__________________
Julien C. |
||
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : février 2003 Messages : 194 ![]() |
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 :
|
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
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.
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Merci pour ces infos precieuses.
Je suis sur la voie, je vous tiens au courrant. Lux. |
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
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 :
Puis dans mon événement « BeforeXMLGram » je construis ma requête dynamiquement avec notamment le morceau de code suivant : Code :
QRY := QRY + ' AND V.CodePays IN ('+ GetUserInfo(Context.GetValue('XMLC_UserName'))+')';
(JE SUIS CERTAIN QU’IL Y A PLUS SIMPLE ….) Lux |
||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
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 |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() |
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/ |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2002 Messages : 75 ![]() |
Donc je remplace mon 'IN' par une suite de 'OR' ?
( Nous sortons ici un peu du forum XMLRAD milles excuses ) Lux |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() |
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/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com