Mon entreprise fait un usage assez intensif d'une application Access + MySQL qui serait probablement très fréquentée sur le Daily WTF si je publiais le code source. La gestion des utilisateurs et de leurs autorisations devient incontrôlable et je passe de plus en plus de temps à les modifier ou à essayer de comprendre pourquoi quelqu'un ne peut pas voir ce qu'il est censé voir.
À l'origine, il a été conçu pour être utilisé par trois utilisateurs dans un seul entrepôt. Il est maintenant utilisé par plus de vingt utilisateurs dans quatre États, et d'autres vont bientôt s'y ajouter, et les fonctionnalités ont été ajoutées dans un rapport d'environ 10 pour 1 avec les utilisateurs... L'application de base actuelle n'est pas mauvaise, mais la gestion des utilisateurs est un calvaire. Access constitue une interface agréable pour les données elles-mêmes, qui sont stockées sur un back-end MySQL dans notre siège social. Les utilisateurs ont des boîtiers VPN Cisco dans les succursales satellites, et c'est également solide. Scope est passé d'un simple registre d'expédition d'entrepôt à un CRM/ERP à part entière... enfin, je ne pense pas que l'on puisse appeler cela une solution. Une émulsion, peut-être. Si j'avais le budget, j'appellerais SAP et leur dirais de s'y mettre. J'ai bien peur que ce ne soit pas possible dans un avenir prévisible.
En suivant les instructions de Google (ce qui n'est pas toujours la chose la plus sûre à faire), j'ai utilisé l'"Assistant de sécurité de niveau utilisateur" dans Access pour attribuer des noms d'utilisateur et des mots de passe à divers utilisateurs, ce qui était bien lorsque j'ai commencé avec 4-5 utilisateurs au total et 3 utilisateurs actifs. Mais c'est maintenant assez difficile à gérer. Mon souhait le plus cher est qu'il existe un moyen d'authentifier les utilisateurs et d'attribuer des rôles de privilège sur la base du nom d'utilisateur et du mot de passe Active Directory. On me dit que c'est impossible. Quelques recherches sur Google n'ont rien donné d'intéressant.
Je suppose qu'il devrait être possible d'obtenir une sorte de cadre d'authentification en utilisant Active Directory, car VBA a des liens avec toutes sortes d'API dans Windows. Cependant... cela vaut-il le coup de passer du temps et de se donner du mal ? Est-ce que quelqu'un a déjà réussi à faire fonctionner ce système, ou est-ce que je risque de faire exploser non seulement mon application digne de ce nom, mais aussi le domaine ?