PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → GROUPWARE UTILISATEUR (droits)
GROUPWARE UTILISATEUR (droits)
Débuté par corinne.briche, 18 jan. 2005 15:02 - 4 réponses
Posté le 18 janvier 2005 - 15:02
Bonjour

Je développe un CRM, composé de différentes modules (projet séparé) dépendante d'un menu général CRM
j'ai mis en place les fonctionnalités groupware utilisateur sur toutes les modules

Les utilisateurs sont gérés dans un repertoire unique sur mon serveur

Je m'authenfie sur le menu général CRM (lancement automatique coché) et je peux naviguer sans aucun problème d'une application à l'autre, via cette connexion via la récupération des informations utilisateurs (fichier INI et fonctionnalité INILIT), je peux même en fonction du groupe de l'utilisateur changer mes bases de données de travail pour passer sur des bases tests (via HSubstRep), la dessus aucun problème.

La ou je bute, c'est sur la gestion des droits des utilisateurs en fonction des applications.

J'ai besoin de définir des droits sur les applis en fonction du login utilisateur

j'ai pour le moment développé 3 modules
1) module MENU (pas d'analyse, un groupware utilisateur, avec lancement automatique)
2) module contacts (analyse CRM, un groupware utilisateur sans lancement automatique)
3) module action (analyse CRM, un groupware utilisateur sans lancement automatique)

droit sur menu :
un utilisateur n'aura pas droit au lancement de l'application contact, mais droit au lancement d'action
un utilisateur droit sur action mais pas sur la fonction suppression des actions
etc.. etc...

J'ai pour cela,créer sur mon serveur, un repertoire GPW_Droits et des sous-rep en fonction de l'appli
gpw_droits\actions
gpw\droits\menu
etc...

Pour établir des droits, je modifie temporaire mon projet avec lancement automatique sur mon appli puis j'ajoute mes droits et je regenére l'exé après bien sur avoir oté lancement automatique.

quand j'applique les droits via superviseur, il ne va pas chercher les infos à l'endroits défini dans le code du projet via la lecture d'un fichier de paramétre
Je continue à saisir ces droits en local !!!!

Moi pas comprendre, merci de votre aide

Corinne
Posté le 18 janvier 2005 - 15:45
Je ne sais pas d'où vient ton problème, mais j'ai une solution de contourement : dans le code d'initialisation des applications, tu récupères le groupe de l'utilisateur. Si c'est Superviseur, tu lances la fenetre de configuration du groupware:
Groupe = gpwRecupInfoUtilisateur(gpwInfoGroupe)
SI Groupe = "SUPERVISEUR" ALORS
si ouvre(GPWMenuSuperviseur) = 0 ALORS
Ouvre(PremiereFenetre)
FIN
SINON
Ouvre(PremiereFenetre)
FIN


Frédéric.
Posté le 18 janvier 2005 - 16:16
je vais essayer, mais mon pb est vraiment lié à la localisation des fichiers de droits utilsateurs,
même si je rentre en superviseur, je continue à créer les droits en local.

J'ai même tester la copie des droits locaux sur mon serveur et ca ne donne rien; il ne tient pas compte de la variable de localisation utilisée.
Posté le 18 janvier 2005 - 16:17
excuse moi , frédéric j'ai oublié de te remercier
alors MERCI
Posté le 18 janvier 2005 - 18:16
J'ai oublié de préciser que ce code reste dans l'application en cours d'exploitation, et non depuis l'éditeur.
C'est ce que nous faisons dans les applications que j'écris pour ma boite : çà évite aux utilisateurs de s'identifier au lancement de l'application, puisqu'ils l'ont déjà fait avec Windows:
NomUtilisateur = Majuscule(RéseauUtilisateur())
MotDePasse = ######
SI EnModeTest() ALORS
// Pour forcer le code utilisateurs, pour les tests
NomUtilisateur = Majuscule(Ouvre(PopupSaisieChaine,"Entrez le code utilisateur",NomUtilisateur))
FIN
// Au cas où le groupware ne serait pas paramétré
SI NomUtilisateur = "ADMINISTRATEUR" ALORS
NomUtilisateur = "SUPERVISEUR"
MotDePasse = ######
FIN

SELON GPWLogin(NomUtilisateur,MotDePasse)
CAS gpwErreur
FinProgramme("Erreur lors de la connection au groupware.")
CAS gpwUtilisateurInconnu
FinProgramme("Utilisateur inconnu.")
CAS gpwMotPasseInvalide
FinProgramme("Mot de passe invalide.")
CAS gpwOk

AUTRE CAS // Annulation de la connection par un superviseur
FinProgramme()
FIN

Dans mon cas aussi, la liste des utilisateurs est commune à toutes les applications, histoire de les créer une bonne fois pour toute.

Frédéric.