La gestion des comptes utilisateurs et de leurs rôles dans une application est facilement gérable avec le Groupware utilisateur de windev. Cette fonctionnalité peut être implémentée avec MySQL. Cet article en décrit la mise en œuvre et un exemple d’utilisation. Préparation Vérifier que le driver d’accès natif MySQL est installé Puisqu’il s’agit d’utiliser MySQL, il faut que le driver d’accès natif à MySQL soit installé sur le poste de développement. C’est un préalable indispensable. Ce driver est téléchargeable gratuitement sur le site PC Soft. Créer une base de données et un compte utilisateur sur MySQL Pour accueillir le futur Groupware, il faut une base de données dédiée à cet usage. Il faut également créer un compte pour accéder à la base. Ouvrez une connexion MySQL et tapez les commandes suivantes. Pour créer la base : CREATE DATABASE groupware_windev; Pour créer l’utilisateur : Attention : selon la portée que vous voulez donner à cette connexion, la déclaration du host variera. « localhost » pour le plus restrictif jusqu’à « % » pour le plus étendu. CREATE USER cnx_groupware IDENTIFIED BY ‘motdepasse‘; Le fait de ne pas préciser le host revient à utiliser % Enfin, donnez les droits à cette connexion sur la base : GRANT ALL ON groupware_windev.* TO cnx_groupware; Utiliser le Groupware dans une application windev Activer le Groupware dans le projet Pour utiliser le groupware dans une application windev, il faut d’abord l’activer dans le projet. Allez dans le menu « Projet » puis cliquez sur la rubrique « Groupware utilisateur ». Puis sélectionnez « Groupware utilisateur automatique » dans l’onglet « Intégration » Et sélectionnez « Lancement manuel » dans l’onglet « Exécution ». Initialiser l’application en déclarant la connexion au Groupware Dans le code d’initialisation de l’application, ajoutez le code suivant : SI gpwOuvreConnexion(« CnxGPW« ,« cnx_groupware« ,« motdepasse« ,« localhost« , « groupware_windev« ,hAccèsNatifMySQL) = Faux ALORS Erreur(ErreurInfo()) FIN Ce code déclare et établit la connexion avec la base de données du Groupware. A la première connexion, les tables nécessaires seront créées dans la base. Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Établir la connexion avec le Groupware Dans un menu ou un bouton de commande proposant la Connexion, ajoutez le code suivant : SI gpwOuvre() = gpwOk ALORS FEN_Accueil..Titre = gpwRecupInfoUtilisateur(gpwInfoLogin) SINON Erreur(ErreurInfo()) FIN Ce code ouvre la connexion et demande à l’utilisateur un identifiant et un mot de passe. A la toute première connexion, vous devez vous connecter avec l’identifiant « Superviseur » et définir un mot de passe. Un superviseur peut ensuite « Lancer l’application », « Configurer le groupware » ou « Fermer l’application’. En cliquant sur « Configurer le groupware » vous entrez dans l’outil d’administration qui permet de créer des comptes utilisateurs, des groupes et de gérer les droits de ces utilisateurs et groupes sur les objets de l’application. Octroyer des droits par le code Il est également possible d’octroyer des droits à l’utilisateur en cours par le code. Si par exemple, on veut donner accès au contenu d’un menu en fonction de l’appartenance à un certain groupe (« Commerciaux » dans l’exemple), on pourra tester cette appartenance en interrogeant gpwRecupInfoUtilisateur(gpwInfoGroupe). Cette fonction retourne la liste de tous les groupes auxquels appartient l’utilisateur connecté : SI Contient(gpwRecupInfoUtilisateur(gpwInfoGroupe), »Commerciaux ») ALORS OPT_Sce_commercial..Etat = Actif FIN Déconnexion de l’utilisateur Pour déconnecter un utilisateur, il suffit d’utiliser l’instruction gpwDéconnecteUtilisateur(). On retirera dans la foulée tous les droits accordés par le code à l’utilisateur qui vient de se déconnecter.
Très intéressant !! Est ce que c'est possible de l'appliquer en local ( mono post ) ou via wampserver ?
merciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Oui bon explicatif. Bravo Une petite remarque, c'est juste moi ou vous aussi vous trouver que l'emploi du Groupware est merdique ? J'ai fini par me développer moi meme un système de droits utilisateur beaucoup mieux (pas de fichiers spéciaux Gwxxxx) et toutes les contraintes installation et utilisation ont disparues...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Oui bon explicatif. Bravo Une petite remarque, c'est juste moi ou vous aussi vous trouver que l'emploi du Groupware est merdique ? J'ai fini par me développer moi meme un système de droits utilisateur beaucoup mieux (pas de fichiers spéciaux Gwxxxx) et toutes les contraintes installation et utilisation ont disparues...Cliquez pour agrandir...