2016-08-22 4 views

Antwort

2

Wie Sie den Benutzerstatus speichern, hängt von Ihren Anforderungen ab.

Wenn Sie per-Gerätestatus verfolgen möchten, können Sie die Daten in HTML5 Local Storage speichern.

Wenn Sie den Status pro Benutzer für angemeldete Benutzer verfolgen möchten (unabhängig davon, welche Maschine oder welches Dokument sie verwenden), sollten Sie ihre Benutzer-ID und ihren Status in Ihrer Datenbank speichern. Für meine eigene Add-In implementiert ich diesen Entwurf mit Firebase:

function readUserStateAsync(customerId, callback){ 
    var myUserReference = firebase.database().ref("myCustomers/" + customerId); 
    myUserReference.once('value').then(function(userState) { 
     callback(userState.val()); 
    }); 
} 

function writeUserStateAsync(customerId, userState, callback){ 
    var myUserReference = firebase.database().ref("myCustomers"); 
    myUserReference.child(customerId).set(userState, function(){ callback("success"); }); 
} 

-Michael Saunders, Programm-Manager für Office-Add-Ins

1

Michael Saunders' Antwort hinzufügen: Sie bekommen eine eindeutige ID für den angemeldeten Office-Benutzer (oder genauer gesagt, für die Benutzeridentität, die das Add-In erworben hat): https://msdn.microsoft.com/en-us/library/office/jj164035.aspx

+0

Ich lese diese komplexe Seite, aber gibt es eine Möglichkeit, einfach eine eindeutige Benutzer-ID zu verwenden JavaScript, damit ich es an meinen Server senden kann? Mein Ziel ist es, benutzerspezifische Informationen auf meinem Server zu speichern, so dass Benutzer die Informationen zwischen verschiedenen Dokumenten und Hosts verwenden können, solange sie das Add-In installiert haben. Ich würde es vorziehen, keine zusätzliche Anmeldung zu erfordern. –

+1

@ExcelAnalyst, das "cid" -Feld von https://msdn.microsoft.com/en-us/library/office/jj163880.aspx ist ein * vernünftiger * guter Wert zu verwenden. Es gibt jedoch einige Vorbehalte. a) Es kann manchmal leer sein (wenn das Add-In im Auftrag der Organisation gekauft wurde oder wenn der Benutzer irgendwie nicht mit einem Microsoft-Konto angemeldet ist). b) es ist nicht garantiert, dass es für immer gleich bleibt (das ist, was die validierte ID garantiert ist, während die cid man eines Tages ändern kann, wenn sich der Hash-Algorithmus ändert). Aber wenn es nicht leer ist, ist es ein ziemlich guter Indikator für denselben Benutzer. –

+1

PS: Um klar zu sein, die ** Converse ** der letzten Aussage wäre nicht wahr. Das heißt, unterschiedliche CID-Werte bedeuten NICHT notwendigerweise unterschiedliche Benutzer (sie könnten über einen langen Zeitraum hinweg unterschiedliche Hashes desselben Benutzers sein). Aber der gleiche CID-Wert - denke ich - wird [fast] immer den gleichen Benutzer bedeuten. Wenn Sie jedoch eine Garantie benötigen, müssen Sie die serverseitige Validierung verwenden. –

Verwandte Themen