Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Je reviens vers vous pour une petite question : comment gérer les licences dans une appli powerbuilder ?
J'ai une appli générale dans laquelle certains modules sont optionnels (et payants en supplément).
Il faudrait donc que les clients n'aient accès à ces modules UNIQUEMENT s'ils ont payé un devis.
Comment géreriez-vous cela ?
J'ai pensé à faire une table où on viendrait renseigner une date de disponibilité et un état (actif ou non)...mais cette solution n'enchante pas mon responsable qui souhaiterait qu'on passe outre un "if module_activee then open(window) else messagebox("INFO", "Module inactif")"
Merci pour vos indices et réponses
Dernière modification par Sebou (03-08-2011 09:47:07)
Hors ligne
Pour ma part j'utilise une clé de License (ou un fichier crypter) qui contient les infos des modules actifs et j'ai écris un éditeur de licences pour notre se[r]vice commercial. Cela permet d'ajouter une couche de sécurité pour les curieux qui irait fouiller dans la base de données pour s'octroyer des modules. Ça n’empêche pas des choses du genre <<if module_activee then open(window) else messagebox("INFO", "Module inactif")>>, mais au moins l'info cruciale n'est pas accessible en claire (en plus j'ai un CRC qui permet de vérifier que l'on n'a pas trop facilement reversé l'algo de cryptage).
Hors ligne
humpffff tu pourrais me fournir un peu plus d'info sur la manière de gérer ta clé de licence stp ?
Hors ligne
disons que c'est un algo maison confidentiel ...
par contre tu peux utiliser un système comme :
- un fichier contenant le FullState d'une datawindow contenant la configuration de ton client, que tu pourrais crypter pour sécuriser un peu plus; c'est une solution plus simple et plus maintenable que celle de la clé de licence.
Hors ligne
xlat a écrit:
disons que c'est un algo maison confidentiel ...
par contre tu peux utiliser un système comme :
- un fichier contenant le FullState d'une datawindow contenant la configuration de ton client, que tu pourrais crypter pour sécuriser un peu plus; c'est une solution plus simple et plus maintenable que celle de la clé de licence.
le fullstate ? C'est à dire ?
Désolé j'arrive pas à te suivre là
Hors ligne
ce qui est fournis par DW_1.getFullState( lbl_blob ) dans le blob, qui te permet de restituer les données + structure avec un simple dw_2.setFullState( lbl_blob ) sur une autre datawindow ou datastore (éventuellement sur un autre poste, sans même avoir le dataobject disponible dans l'environnement de réstitution).
Hors ligne
xlat a écrit:
pour notre se[r]vice commercial
Hors ligne