2016-07-27 6 views
0

Ich habe eine Frage über die beste Möglichkeit, um Benutzerinformationen zwischen Benutzern in bestimmten Situationen sichtbar zu sein.
Ich habe bestimmte Spalten in der Benutzerklasse, die für den Benutzer privat sind.
In einigen Aktivitäten zeige ich auf Benutzerobjekt als 'gepostetBy' oder etwas anderes, In diesem Fall werden die gesamten Daten über Benutzer freigegeben.
Meine Frage ist, wie man Benutzer beschränkt, um einige Spalten in der Benutzerklasse zu erhalten ??Parse - vermeiden Sie den Austausch von Informationen in bestimmten Spalte einer Klasse

Antwort

0

Wenn Sie einen Zugriff in Parse beschränken möchten, sollte dies normalerweise über ACL erfolgen. In ACL können Sie eine Rolle für Benutzer erstellen, die in der Klasse lesen/schreiben können. ACL werden auf Klassenebene und nicht auf Spaltenebene ausgeführt. Um einen Teil der Felder zu belichten ich denke, haben Sie 2 Möglichkeiten:

  1. Erstellen 00.59 realtionship von Ihrer Benutzerklasse in einer anderen Klasse. Die zweite Klasse enthält alle Spalten, die nicht alle Benutzer sehen können, und erstellt für diese Klasse ACLs mit den Benutzern/Rollen, die diese Daten anzeigen können. Wenn Sie Ihre Abfrage ausführen, können nur die Benutzer mit den entsprechenden Berechtigungen diese Daten abrufen

  2. Die zweite Option ist, wenn Sie Beziehungen hier vermeiden möchten, können Sie die Option Option unter Abfrage verwenden. Mit Auswahl können Sie bestimmte Felder der Klasse auswählen, und die Abfrage gibt nur die Felder zurück, die Sie unter Auswahl angegeben haben. hier ist ein Code-Snippet von Parse-docs, die erklären, wie man wählen verwenden (in JS):

var GameScore = Parse.Object.extend("GameScore"); 
 
    var query = new Parse.Query(GameScore); 
 
    query.select("score", "playerName"); 
 
    query.find().then(function(results) { 
 
     // each of results will only have the selected fields available. 
 
    });

seine klare Hoffnung jetzt :)