Anleitungen > Solution Designer > Integrationen > Portal > Portalbenutzer einrichten Mehrere Benutzer gleichzeitig einrichten |
Scroll |
In Situationen, in denen Sie eine große Anzahl von Portalbenutzern gleichzeitig einrichten müssen, können Sie den Prozess automatisieren, indem Sie eine Synchronisierung mit einer externen Datenbank durchführen. Dies kann in der Therefore™-Datenbank über SQL-Anweisungen geschehen, die Werte aus anderen Tabellen abrufen.
Neue Einträge werden in die Tabelle TheUserSync in der Therefore™-Datenbank eingefügt. Der Server synchronisiert Änderungen dann automatisch alle 10 Minuten.
Jede Zeile in der Tabelle TheUserSync entspricht einer Suche nach einem Benutzer. Um mehrere Suchen für einen einzelnen Benutzer zu haben, müssen Sie mehrere Zeilen mit den gleichen Werten in den Spalten Email und UserName hinzufügen. |
 So richten Sie mehrere Therefore™-Portalbenutzer gleichzeitig ein:
1.Um Therefore™-Portalbenutzer aus einer externen Datenbank erstellen zu können, muss die Datenbank bzw. die betreffende Tabelle mindestens die E-Mail-Adresse des Benutzers und einen Benutzername enthalten (wenn gewünscht kann der Benutzername gleich der E-Mail-Adresse sein).
2.Führen Sie eine SQL-Anweisung aus, um neue Einträge zur Tabelle TheUserSync der Therefore™-Datenbank hinzuzufügen. Ein Beispiel dafür ist im folgenden Skript gegeben, das Werte aus der Tabelle "CustomerData" abruft.
INSERT INTO TheUserSync (Email, QueryNo, UserName, UserType, UserPwd, OneTimePwd, ConditionXML, SyncState) SELECT Email, 68, Email, 4, NULL, 1, '<Conds><C><FieldNo>1020</FieldNo><Filter>' + CustomerID + '</Filter></C></Conds>', 1 FROM CustomerData
3.Das korrekte Einrichten von ConditionXML ist sehr wichtig, da auf diese Weise die Zugriffsrechte von Benutzern wie erforderlich beschränkt werden. Das folgende Verfahren wird empfohlen: i.Erstellen Sie einen Beispiel-Portalbenutzer in Therefore™ Solution Designer. ii.Richten Sie die passende Bedingung für diesen Benutzer ein. iii.Rufen Sie in der Therefore™-Datenbank die Tabelle ThePortalAccess auf. iv.Kopieren Sie den Inhalt der Spalte "ConditionXML" für den Beispielbenutzer. Sie werden diesen als Vorlage verwenden. v.Ändern Sie die XML-Zeichenfolge für jeden weiteren Benutzer wie erforderlich, um die korrekten Bedingungen anzuwenden. Ändern Sie den Wert zwischen den <Filter>-Tags. vi.Wenden Sie das geänderte ConditionXML auf die Tabelle TheUserSync an.
|
Sie können Portalbenutzer über eine API oder WebAPI erstellen, wobei ein ähnlicher Mechanismus wie der oben beschriebene verwendet wird.
Benutzererstellung über API
In der API müssen Sie die Klasse "ThePortalUserSync" verwenden. Sie hat ähnliche Eigenschaften wie die im obigen Abschnitt erwähnte Datenbanktabelle "TheUserSync".
In diesem Beispiel sehen Sie, wie Sie eine Portalsuche für einen Benutzer hinzufügen:
// eine Portal-Suche für einen Benutzer hinzufügen ThePortalUserSync userSync = new ThePortalUserSync(); userSync.Email = "apiPortal@therefore.net"; userSync.QueryNo = 363; userSync.UserName = "apiPortal@therefore.net"; userSync.UserPwd = string.Empty; // generiert ein Kennwort für den Benutzer // Bedingungen hinzufügen TheCondition condition = new TheCondition(); condition.FieldNo = 123; condition.Condition = "some condition"; userSync.Conditions.Add(condition); userSync.SavePortalUser(server);d
Um mehrere Suchvorgänge für einen Benutzer hinzuzufügen, müssen Sie dieselbe E-Mail und denselben Benutzernamen verwenden und eine andere QueryNo angeben.
Das folgende Beispiel kann verwendet werden, um einen Upload für einen Portalbenutzer hinzuzufügen. // einen Portal-Upload für einen Benutzer hinzufügen ThePortalUserSync userSyncUpload = new ThePortalUserSync(); userSyncUpload.Email = "apiPortal@therefore.net"; userSyncUpload.CtgryNo = 68; userSyncUpload.UserName = "apiPortal@therefore.net"; userSyncUpload.UserPwd = string.Empty; // vordefinierte Werte für Indexdatenfelder für diesen Portalbenutzer einrichten userSyncUpload.IndexData.SetCategory(68, server); userSyncUpload.IndexData.SetValueByFieldID("Text", "some predefined value"); userSyncUpload.SavePortalUser(server);
Usage via WebAPI
Der WebAPI-Aufruf funktioniert auf die gleiche Weise. Zusätzliche Informationen dazu finden Sie in unserer WebAPI-Dokumentation: SavePortalUser (therefore.net)
Beispielaufruf zum Hinzufügen einer Portalsuche für einen Benutzer:
{ Â "PortalUser": { Â "Conditions": [ Â { Â "FieldNoOrName" : "1019", Â "Condition" : "1" Â } Â ], Â "Email": "myEmail@test.com", Â "IndexDataItems":[], Â "QueryNo": "163", Â "UserName": "test6", Â "UserPwd": "Abcd1234" Â } }
|
So benachrichtigen Sie Benutzer, dass ihr Konto eingerichtet wurde:
1.Benutzer, deren Konto durch Synchronisierung eingerichtet wurde, müssen dieses zuerst aktivieren, bevor sie ihr Kennwort erhalten. Dazu muss ein Administrator jedem neuen Benutzer eine Benachrichtigung zusenden, die den entsprechenden Benutzernamen und einen Hyperlink zur Therefore™-Portal-Aktivierungsseite enthält. Der Link ist: http://server/TWA/Portal/PortalActivation.aspx. Ersetzen Sie server durch den Servernamen und ändern Sie TWA zu dem Mandantennamen (nur bei Systemen mit mehreren Mandanten erforderlich).
2.Benutzer müssen ihren Benutzernamen eingeben und dann auf Aktivieren klicken, um ihr generiertes Kennwort per E-Mail zu erhalten, über das sie sich dann beim Therefore™-Portal anmelden können. |