Lors du développement d’applications Éclipse, on peut rapidement être confronté à la gestion des droits d’accès utilisateurs sur certaines fonctionnalités.
Heureusement, cela peut facilement être géré par les Activités : vous trouverez un très bon guide dans la documentation officielle, mais pour résumer, on peut dire qu’une activité est un groupe de fonctionnalités régies par des règles d’utilisation ou d’accès.
Pour créer ces règles, dans le fichier "plugin.xml", il faut utiliser le point d’extension
org.eclipse.ui.activities
C’est ensuite le "pattern" qui définira la règle à appliquer : sous forme d’expression régulière, son format est le suivant :
plug-in-identifier + "/" +
local-identifier
Voici un exemple :
Dans le fichier "plugin.xml", on définit
l’activité suivante :
Ainsi, nous avons défini la règle suivante : le profil "developer" n’aura accès qu’aux fonctionnalités du plugin
com.client
dont le nom contient
ui.commands.developer
Pour faire appliquer cette règle à l’IDE, voici le code à implémenter :
public class ProfileManager { private static final String ACTIVITY_DEVELOPER_ID = "com.client.ui.activities.profile.developer"; public static void refreshGUIAccordingToProfile(){ IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench() .getActivitySupport(); // List of activities to be activated Set enabledActivities = new HashSet(); // Retrieve list of activities currently activated Set currentlyEnabledActivities = PlatformUI.getWorkbench() .getActivitySupport().getActivityManager().getEnabledActivityIds(); // Remove activities which are related to user's profile // I.e. Keep activities activated by user via Windows > Preferences for (String anActivity : currentlyEnabledActivities) { if (!isAProfileRelatedActivity(anActivity)) { enabledActivities.add(anActivity); } } enabledActivities.add(ACTIVITY_DEVELOPER_ID); activitySupport.setEnabledActivityIds(enabledActivities); } }
Ce code est à appeler au lancement du plugin dans l’IDE : il fait appel simplement à l’interface de gestion des activités par défaut et y ajoute celle que nous venons de créer!
Vous disposer maintenant de tout le nécessaire pour paramétrer l’interface de votre application selon différent profils utilisateurs.
0 commentaires:
Enregistrer un commentaire