UserManipulation/de
From OpenSimulator
(→Setup) |
|||
Line 1: | Line 1: | ||
− | + | =Einleitung= | |
− | + | ||
− | = | + | |
− | Normalerweise werden Benutzer in OpenSimulator über den Befehl " | + | Normalerweise werden Benutzer in OpenSimulator über den Befehl "create user" auf der Regionskonsole (in Standalone-Konfiguration) oder auf der ROBUST-Service-Konsole (in Grid-Konfiguration) erstellt. Benutzer können jedoch auch erstellt werden, indem ein XMLRPC-Aufruf direkt an den ROBUST-Service gemacht wird. |
− | auf der Regionskonsole (in | + | |
− | + | Diese Funktion ist seit OpenSimulator 0.7.3 verfügbar und kann derzeit nur in der Grid-Konfiguration verwendet werden. In Standalone-Konfiguration können Benutzer über den speziellen "create user"-Aufruf im Modul [[RemoteAdmin]] erstellt werden. | |
− | + | ||
− | Diese Funktion ist seit OpenSimulator 0.7.3 verfügbar | + | |
− | + | ||
− | + | ||
=Setup= | =Setup= | ||
− | Die Listener für einige der XMLRPC-Aufrufe auf ROBUST müssen explizit aktiviert werden. | + | Die Listener für einige der XMLRPC-Aufrufe auf ROBUST müssen explizit aktiviert werden. In der [UserAccountService]-Sektion der Robust.ini setzen Sie: |
− | + | [UserAccountService] | |
− | + | AllowCreateUser = true | |
− | + | AllowSetAccount = true | |
− | und in [ | + | und in der [AuthenicationService]-Sektion: |
− | + | [AuthenticationService] | |
− | + | AllowSetPassword = true | |
− | Bitte beachten Sie, dass dadurch der Aufruf | + | '''Bitte beachten Sie, dass dadurch der Aufruf auf den UserAccountServiceConnector und AuthenticationServiceConnector freigelegt wird, wie im ServiceConnectors-Parameter in der [Startup]-Sektion oben in der Datei aufgelistet. Der Standardport (8003) ist einer, der nicht für andere Benutzer freigegeben werden sollte. Für die Anmeldung an OpenSimulator müssen Sie nur den Port freigeben, auf dem der LLLoginServiceInConnector läuft (standardmäßig 8002). |
− | + | Dies bedeutet auch, dass diese Funktionen derzeit nicht auf einem offenen Grid aktiviert werden sollten (einem Grid, auf dem nicht vertrauenswürdige Dritte Simulator verbinden können). | |
− | + | ==Standard-Avatareinträge== | |
− | + | Wenn Sie möchten, dass ein neuer Benutzer den initialen minimalen Körperteil-/Kleidungssatz (Haut, Form, Augen, Haare, Hose, Hemd) erhält, der erforderlich ist, damit er nicht nur als Gaswolke erscheint, stellen Sie sicher, dass | |
− | + | [UserAccountService] | |
+ | CreateDefaultAvatarEntries = true | ||
− | + | in Robust.ini gesetzt ist. Diese Einstellung ist in der Robust.ini.example von OpenSimulator 0.7.4 und später bereits auf true gesetzt. | |
− | + | =Nutzung= | |
− | + | ==createuser== | |
− | + | Hier ist ein Beispiel für ein Python-Programm, um diesen Aufruf zu machen. Es wird angenommen, dass Ihre ROBUST-Services auf localhost laufen. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Hier ist ein Beispiel | + | |
<source lang="python"> | <source lang="python"> | ||
Line 74: | Line 48: | ||
response = conn.getresponse() | response = conn.getresponse() | ||
print response.read(); | print response.read(); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
PrincipalID ist die eindeutige ID des Benutzers. | PrincipalID ist die eindeutige ID des Benutzers. | ||
− | Wenn alles gut | + | Wenn alles gut läuft, erhalten Sie |
<source lang="xml"> | <source lang="xml"> | ||
Line 112: | Line 71: | ||
</source> | </source> | ||
− | + | ==setaccount== | |
− | + | Hier ist ein Beispiel für ein Python-Programm, um diesen Aufruf zu machen. Es wird angenommen, dass Ihre ROBUST-Services auf localhost laufen. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Hier ist ein Beispiel | + | |
<source lang="python"> | <source lang="python"> | ||
Line 144: | Line 88: | ||
</source> | </source> | ||
− | + | PrincipalID ist die eindeutige ID des Benutzers. Hier wird sie verwendet, um den Benutzer zu identifizieren, den wir zuvor eingerichtet haben. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | PrincipalID ist die eindeutige ID des Benutzers. Hier wird | + | |
− | Wenn alles gut | + | Wenn alles gut läuft, erhalten Sie |
<source lang="xml"> | <source lang="xml"> | ||
Line 182: | Line 111: | ||
Beachten Sie, dass sich der Vorname jetzt von Jon zu Tyrion geändert hat. | Beachten Sie, dass sich der Vorname jetzt von Jon zu Tyrion geändert hat. | ||
− | + | ==setpassword== | |
− | + | Eine Passwortänderung erfolgt über den Authentifizierungsservice und nicht über den Benutzerkontoservice. Die erforderlichen Parameter sind leider etwas anders als die des Benutzerkontoservices. In diesem Fall müssen wir einen Aufruf an http://<robust-services-adresse>/auth/plain mit METHOD = setpassword, PRINCIPAL = <principalID> und PASSWORD = <neues-passwort> machen. Hier ist ein Beispiel | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | In diesem Fall müssen wir http://<robust-services- | + | |
− | + | ||
− | Hier ist ein Beispiel | + | |
<source lang="python"> | <source lang="python"> | ||
Line 211: | Line 128: | ||
</source> | </source> | ||
− | + | Dies soll das Passwort von Wilma Flintstone auf "bing" setzen, wobei sie mit der PrincipalID identifiziert wird, die wir zuvor erhalten haben. | |
− | + | ||
− | + | Wenn erfolgreich, liefert der Aufruf | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 237: | Line 139: | ||
</source> | </source> | ||
− | Bei | + | Bei einem Fehler erhalten Sie |
<source lang="xml"> | <source lang="xml"> | ||
Line 246: | Line 148: | ||
</source> | </source> | ||
− | == | + | ==Benutzer löschen== |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Dies ist derzeit wahrscheinlich nicht möglich. Oder besser gesagt, es wurde noch nicht getan und zurückgemeldet, ob alles noch funktioniert oder ob es viele Probleme gibt. | |
+ | Die normale Methode, einen Benutzer zu "löschen", besteht darin, seinen UserLevel auf -1 zu setzen. Dadurch wird verhindert, dass er sich anmelden kann. | ||
− | + | Wenn Sie einen Benutzer mit demselben Namen erstellen müssen, benennen Sie den gelöschten Benutzer zuerst um (z.B. in Wilma Flintstone_<RANDOM-UUID>), bevor Sie einen mit dem alten Namen erstellen. |
Revision as of 00:02, 2 September 2024
Contents |
Einleitung
Normalerweise werden Benutzer in OpenSimulator über den Befehl "create user" auf der Regionskonsole (in Standalone-Konfiguration) oder auf der ROBUST-Service-Konsole (in Grid-Konfiguration) erstellt. Benutzer können jedoch auch erstellt werden, indem ein XMLRPC-Aufruf direkt an den ROBUST-Service gemacht wird.
Diese Funktion ist seit OpenSimulator 0.7.3 verfügbar und kann derzeit nur in der Grid-Konfiguration verwendet werden. In Standalone-Konfiguration können Benutzer über den speziellen "create user"-Aufruf im Modul RemoteAdmin erstellt werden.
Setup
Die Listener für einige der XMLRPC-Aufrufe auf ROBUST müssen explizit aktiviert werden. In der [UserAccountService]-Sektion der Robust.ini setzen Sie:
[UserAccountService] AllowCreateUser = true AllowSetAccount = true
und in der [AuthenicationService]-Sektion:
[AuthenticationService] AllowSetPassword = true
Bitte beachten Sie, dass dadurch der Aufruf auf den UserAccountServiceConnector und AuthenticationServiceConnector freigelegt wird, wie im ServiceConnectors-Parameter in der [Startup]-Sektion oben in der Datei aufgelistet. Der Standardport (8003) ist einer, der nicht für andere Benutzer freigegeben werden sollte. Für die Anmeldung an OpenSimulator müssen Sie nur den Port freigeben, auf dem der LLLoginServiceInConnector läuft (standardmäßig 8002).
Dies bedeutet auch, dass diese Funktionen derzeit nicht auf einem offenen Grid aktiviert werden sollten (einem Grid, auf dem nicht vertrauenswürdige Dritte Simulator verbinden können).
Standard-Avatareinträge
Wenn Sie möchten, dass ein neuer Benutzer den initialen minimalen Körperteil-/Kleidungssatz (Haut, Form, Augen, Haare, Hose, Hemd) erhält, der erforderlich ist, damit er nicht nur als Gaswolke erscheint, stellen Sie sicher, dass
[UserAccountService] CreateDefaultAvatarEntries = true
in Robust.ini gesetzt ist. Diese Einstellung ist in der Robust.ini.example von OpenSimulator 0.7.4 und später bereits auf true gesetzt.
Nutzung
createuser
Hier ist ein Beispiel für ein Python-Programm, um diesen Aufruf zu machen. Es wird angenommen, dass Ihre ROBUST-Services auf localhost laufen.
#!/usr/bin/python import httplib import urllib params = urllib.urlencode({'METHOD':'createuser', 'FirstName':'Jon', 'LastName':'Snow', 'Password':'test', 'PrincipalID':'3a1c8128-908f-4455-8157-66c96a46f75e'}) conn = httplib.HTTPConnection("localhost", 8003); conn.request("POST", "/accounts", params) response = conn.getresponse() print response.read();
PrincipalID ist die eindeutige ID des Benutzers.
Wenn alles gut läuft, erhalten Sie
<?xml version="1.0"?> <ServerResponse> <result type="List"> <FirstName>Jon</FirstName> <LastName>Snow</LastName> <Email/> <PrincipalID>3a1c8128-908f-4455-8157-66c96a46f75e</PrincipalID> <ScopeID>00000000-0000-0000-0000-000000000000</ScopeID> <Created>1318974501</Created> <UserLevel>0</UserLevel> <UserFlags>0</UserFlags> <ServiceURLs>HomeURI*;GatekeeperURI*;InventoryServerURI*;AssetServerURI*;</ServiceURLs> </result> </ServerResponse>
setaccount
Hier ist ein Beispiel für ein Python-Programm, um diesen Aufruf zu machen. Es wird angenommen, dass Ihre ROBUST-Services auf localhost laufen.
#!/usr/bin/python import httplib import urllib params = urllib.urlencode({'METHOD':'setaccount', 'FirstName':'Tyrion', 'PrincipalID':'3a1c8128-908f-4455-8157-66c96a46f75e'}) conn = httplib.HTTPConnection("localhost", 8003); conn.request("POST", "/accounts", params) response = conn.getresponse() print response.read();
PrincipalID ist die eindeutige ID des Benutzers. Hier wird sie verwendet, um den Benutzer zu identifizieren, den wir zuvor eingerichtet haben.
Wenn alles gut läuft, erhalten Sie
<?xml version="1.0"?> <ServerResponse> <result type="List"> <FirstName>Tyrion</FirstName> <LastName>Snow</LastName> <Email/> <PrincipalID>3a1c8128-908f-4455-8157-66c96a46f75e</PrincipalID> <ScopeID>00000000-0000-0000-0000-000000000000</ScopeID> <Created>1318974501</Created> <UserLevel>0</UserLevel> <UserFlags>0</UserFlags> <ServiceURLs>HomeURI*;GatekeeperURI*;InventoryServerURI*;AssetServerURI*;</ServiceURLs> </result> </ServerResponse>
Beachten Sie, dass sich der Vorname jetzt von Jon zu Tyrion geändert hat.
setpassword
Eine Passwortänderung erfolgt über den Authentifizierungsservice und nicht über den Benutzerkontoservice. Die erforderlichen Parameter sind leider etwas anders als die des Benutzerkontoservices. In diesem Fall müssen wir einen Aufruf an http://<robust-services-adresse>/auth/plain mit METHOD = setpassword, PRINCIPAL = <principalID> und PASSWORD = <neues-passwort> machen. Hier ist ein Beispiel
#!/usr/bin/python import httplib import urllib params = urllib.urlencode({'METHOD':'setpassword', 'PRINCIPAL' : '3a1c8128-908f-4455-8157-66c96a46f75e', 'PASSWORD':'bing'}) conn = httplib.HTTPConnection("localhost", 8003); conn.request("POST", "/auth/plain", params) response = conn.getresponse() print response.read();
Dies soll das Passwort von Wilma Flintstone auf "bing" setzen, wobei sie mit der PrincipalID identifiziert wird, die wir zuvor erhalten haben.
Wenn erfolgreich, liefert der Aufruf
<?xml version="1.0"?> <ServerResponse> <Result>Success</Result> </ServerResponse>
Bei einem Fehler erhalten Sie
<?xml version="1.0"?> <ServerResponse> <Result>Failure</Result> </ServerResponse>
Benutzer löschen
Dies ist derzeit wahrscheinlich nicht möglich. Oder besser gesagt, es wurde noch nicht getan und zurückgemeldet, ob alles noch funktioniert oder ob es viele Probleme gibt.
Die normale Methode, einen Benutzer zu "löschen", besteht darin, seinen UserLevel auf -1 zu setzen. Dadurch wird verhindert, dass er sich anmelden kann.
Wenn Sie einen Benutzer mit demselben Namen erstellen müssen, benennen Sie den gelöschten Benutzer zuerst um (z.B. in Wilma Flintstone_<RANDOM-UUID>), bevor Sie einen mit dem alten Namen erstellen.