Betrachten Sie die folgende POST an den Artifactory REST API:Artifactory Benutzer Update behebt Admin
curl -f -u admin:password \
-X POST \
-H 'Content-Type: application/json; charset=UTF-8' \
-d '{ "groups": ["oldgroup", "newgroup"] }' \
http://localhost/artifactory/api/security/users/targetuser
Diese Anforderung ist sicherzustellen, dass der Benutzer ein Mitglied sowohl der „oldgroup“ und der „newgroup“, sondern zusätzlich entfernt es Administratorrechte vom Benutzer (wenn sie es hatten): Ex. { "admin": true }
ändert sich nach dem Update zu { "admin": false }
.
Es scheint, dass man zusätzlich benötigen würde { "admin": true }
passieren, wenn der Benutzer ein Admin ursprünglich um diesen seltsamen Nebeneffekt des Updates zu vermeiden ist:
curl -f -u admin:password \
-X POST \
-H 'Content-Type: application/json; charset=UTF-8' \
-d '{ "admin": true, "groups": ["oldgroup", "newgroup"] }' \
http://localhost/artifactory/api/security/users/targetuser
scheint diese nicht als umgesetzt werden echtes Update. Ist das ein Fehler? Fehle ich etwas?
Außerdem habe ich mich gefragt, ob dies mit dem 'Content-Type'
Header zu tun hatte ich ursprünglich vorging, als ich die volle application/vnd.org.jfrog.artifactory.security.User+json
wurde mit aber eine Änderung nur application/json
hat das gleiche Ergebnis.
Ich konnte sehen, ob ich die PUT-Methode verwendet, um einen Benutzer zu erstellen oder zu ersetzen, aber das ist die POST-Anfrage und scheint nicht zu funktionieren, wie ich es erwarte.
Artifactory REST API-Dokumentation und meine Forschung:
- Methode: Update User
- Objekt: application/vnd.org.jfrog.artifactory.security.User+json
- ähnlicher unbeantwortet Beitrag aus den alten JFrog Foren: thread
Danke für die Antwort! Ich hatte ursprünglich dasselbe gedacht. Wenn Sie jedoch die Dokumentation für die RST-API betrachten, werden Sie feststellen, dass es zwei Routen zum Aktualisieren von Benutzerobjekten gibt: "PUT" und "POST". - Erstellen oder Ersetzen Benutzer: 'PUT/api/Sicherheit/Benutzer/{Benutzername}' - Update Benutzer: 'POST/api/security/Benutzer/{Benutzername}' Die Hinweise zum Erstellen oder Ersetzen deutlich zu sagen : "Fehlende Werte werden auf die Standardwerte gesetzt" Für Update: "Aktualisiert einen bestehenden Benutzer in Artifactory mit den angegebenen Benutzerdetails" Daher glaube ich, dass das Update nicht ordnungsgemäß funktioniert. – vicster
In der Tat kann ich sehen, dass es scheint, dass die Dokumentation diese Informationen für den "Update-Benutzer" auch fehlt. Dies ist in der Tat verwirrend, wird aufgefordert, es zu ändern und diese Zeile dem "Update User" hinzuzufügen. Danke, dass Sie darauf hingewiesen haben – Ariel
Live Update, die Dokumentation wurde entsprechend aktualisiert. – Ariel