Pour désactiver la gestion des snapshots pour les membres d'un groupe VSO (Virtual Server Owner), vous ne pouvez pas simplement supprimer les autorisations respectives du rôle VSO. Bien que les utilisateurs de VSO ne puissent pas accéder à ces fonctions, le portlet « Mes serveurs » affiche toujours les boutons correspondants et affiche une erreur si un utilisateur de VSO clique dessus. Pour éviter cela, effectuez quelques modifications simples au code du portlet Manage_MyServers afin qu'il n'affiche pas ces boutons.
Aucune spécification déterminée n'est requise pour ce document.
Ce document ne se limite pas à des versions matérielles et logicielles spécifiques.
Pour plus d'informations sur les conventions des documents, référez-vous à Conventions des conseils techniques Cisco.
Dans cette section, vous recevrez les informations nécessaires pour modifier le portlet Manage_MyServers afin que les boutons Snapshot soient supprimés pour les utilisateurs VSO qui ne devraient pas avoir cet accès.
Vous pouvez utiliser n'importe quel éditeur de texte ASCII pour modifier le code Javascript du portlet, tant qu'il prend en charge le copier-coller et l'enregistrement dans un fichier. Nous vous recommandons d'en utiliser une qui prend en charge la numérotation des lignes à l'écran et les fonctions de recherche. N'oubliez pas d'enregistrer le code d'origine dans un fichier texte local avant de le modifier, afin de pouvoir le restaurer facilement si nécessaire.
Les modifications de code sont relativement simples. Vous devez d'abord détecter le rôle de l'utilisateur, puis désactiver les boutons Gérer les snapshots si l'utilisateur est membre du groupe VSO. Suivez ces étapes :
Lancez Cloud Portal et accédez à Portal Designer > Browse Portlets.
Dans le panneau de gauche, sélectionnez le dossier JavaScript, puis sélectionnez Manage_MyServers.
Dans le panneau principal, sélectionnez l'onglet Affichage. Cloud Portal affiche le code Javascript du portlet Manage_MyServers.
Sélectionnez tout le code, puis copiez-le et collez-le dans votre éditeur de texte. Enregistrez une copie de ce texte d'origine sous forme de fichier sur une machine locale, en tant que sauvegarde.
getActionButtonContent(cntName,cntStatus,cntOwned)
Ajoutez un support ouvert ({) à la fin de cette ligne. Ajoutez ensuite une ligne avec le code suivant immédiatement après :
var personRole = getCurrentUserRole();
Les deux lignes doivent maintenant ressembler à ceci :
function getActionButtonContent(cntName,cntStatus,cntOwned){ var personRole = getCurrentUserRole();
Localisez la section suivante du code (vers la ligne 1104) :
buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgSnapshot+'" '+imgSnapshotRollover+' alt="Create a named snapshot of the '+manageCntName+'\'s current state and data.">'+linkSnapshotEnd+'</Para><Para>Take Snapshot</div>';
Sur la ligne juste avant cette section de code, ajoutez la ligne suivante :
if(personRole != 'Virtual Server Owner') {
N'oubliez pas d'insérer le caractère de crochet ouvert ({) à la fin de la ligne.
Maintenant, localisez la section suivante du code (vers la ligne 1112) :
buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkDeleteSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgDeleteSnapshot+'" '+imgDeleteSnapshotRollover+' alt="Delete Snapshot of the Virtual Machine" title="Delete Snapshot of the '+manageCntName+'." >'+linkDeleteSnapshotEnd+'</Para><Para>Delete Snapshot</div>';
Ajoutez un crochet de fermeture (}) pour l'instruction if sur une nouvelle ligne immédiatement après cette section. La section complète du code modifié doit maintenant ressembler à ceci :
if(personRole != Virtual Server Owner) { buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgSnapshot+'" '+imgSnapshotRollover+' alt="Create a named snapshot of the '+manageCntName+'\'s current state and data.">'+linkSnapshotEnd+'</Para><Para>Take Snapshot</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkViewSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgViewSnapshot+'" '+imgViewSnapshotRollover+' alt="View Snapshots of the Virtual Machine" title="View Snapshots of the '+manageCntName+'." >'+linkViewSnapshotEnd+'</Para><Para>View Snapshots</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkRevertSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgRevertSnapshot+'" '+imgRevertSnapshotRollover+' alt="Revert to Snapshot" title="Revert a '+manageCntName+' to a previous state using the snapshot of your choice." >'+linkRevertSnapshotEnd+'</Para><Para>Revert to Snapshot</div>'; buttons = buttons + '<div style="float:left; margin: 8px 9px; padding: 8px 2px; text-align: center; width: 10%; border: 1px solid #ffffff;">'+linkDeleteSnapshotStart+'<img src="http://www.cisco.com/RequestCenter/custom/EnterpriseEdition/'+imgDeleteSnapshot+'" '+imgDeleteSnapshotRollover+' alt="Delete Snapshot of the Virtual Machine" title="Delete Snapshot of the '+manageCntName+'." >'+linkDeleteSnapshotEnd+'</Para><Para>Delete Snapshot</div>'; }
Copiez à nouveau le code modifié dans l'onglet Affichage du portlet Manage_MyServers et cliquez sur Enregistrer. Les boutons seront désormais masqués pour un VSO.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
10-Jan-2013 |
Première publication |