Um Snapshot Management für die Mitglieder einer VSO-Gruppe (Virtual Server Owner) erfolgreich zu deaktivieren, können Sie die entsprechenden Berechtigungen nicht einfach aus der VSO-Rolle entfernen. Obwohl die VSO-Benutzer nicht auf diese Funktionen zugreifen können, werden im Portlet "Meine Server" weiterhin die entsprechenden Schaltflächen angezeigt. Wenn ein VSO-Benutzer auf diese klickt, wird ein Fehler angezeigt. Führen Sie einige einfache Änderungen am Portlet-Code Manage_MyServers durch, damit diese Schaltflächen nicht angezeigt werden.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Hardware- und Softwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions.
In diesem Abschnitt werden die Informationen angezeigt, die zum Ändern des Portlets "Manage_MyServers" erforderlich sind, sodass Snapshot-Schaltflächen für VSO-Benutzer entfernt werden, die keinen Zugriff mehr haben sollen.
Sie können jeden ASCII-Texteditor verwenden, um den Javascript-Code im Portlet zu bearbeiten, vorausgesetzt, er unterstützt Kopieren, Einfügen und Speichern in eine Datei. Es wird empfohlen, eine zu verwenden, die die Zeilennummerierung und Suchfunktionen auf dem Bildschirm unterstützt. Denken Sie daran, den ursprünglichen Code vor der Änderung in einer lokalen Textdatei zu speichern, damit Sie ihn bei Bedarf einfach wiederherstellen können.
Die Codeänderungen sind relativ einfach. Zunächst erkennen Sie die Rolle des Benutzers und deaktivieren dann die Schaltfläche Snapshots verwalten, wenn der Benutzer Mitglied der VSO-Gruppe ist. Gehen Sie folgendermaßen vor:
Starten Sie das Cloud Portal, und navigieren Sie zu Portal Designer > Portlets durchsuchen.
Wählen Sie im linken Bereich den Ordner JavaScript und dann Manage_MyServers.
Wählen Sie im Hauptfenster die Registerkarte Anzeigen. Cloud Portal zeigt den Javascript-Code für das Manage_MyServers-Portlet an.
Wählen Sie den gesamten Code aus, kopieren Sie ihn und fügen Sie ihn in den Texteditor ein. Speichern Sie eine Kopie des ursprünglichen Texts als Datei auf einem lokalen Computer als Sicherung.
getActionButtonContent(cntName,cntStatus,cntOwned)
Fügen Sie am Ende der Zeile eine offene Halterung ({) hinzu. Fügen Sie dann unmittelbar danach eine Zeile mit folgendem Code hinzu:
var personRole = getCurrentUserRole();
Die beiden Zeilen sollten nun wie folgt aussehen:
function getActionButtonContent(cntName,cntStatus,cntOwned){ var personRole = getCurrentUserRole();
Suchen Sie den folgenden Abschnitt des Codes (um Zeile 1104 herum):
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>';
Fügen Sie in der Zeile unmittelbar vor diesem Codeabschnitt die folgende Zeile hinzu:
if(personRole != 'Virtual Server Owner') {
Vergessen Sie nicht, das Zeichen der offenen Halterung ({) am Zeilenende einzufügen.
Suchen Sie jetzt den folgenden angrenzenden Codeabschnitt (um Zeile 112):
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>';
Fügen Sie für die if-Anweisung eine schließende Klammer (}) für eine neue Zeile hinzu, die unmittelbar auf diesen Abschnitt folgt. Der vollständige Abschnitt von geändertem Code sollte nun wie folgt aussehen:
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>'; }
Kopieren Sie den neu geänderten Code zurück in die Registerkarte Ansicht des Portlets Manage_MyServers, und klicken Sie auf Speichern. Die Schaltflächen werden jetzt für einen VSO ausgeblendet.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-Jan-2013 |
Erstveröffentlichung |