Auf einem REST-basierten System, was sind die Optionen zum "Verschlüsseln" Ressourcen-ID.REST Security Design bewährte Methode beim Aussetzen von Ressourcen ID
Zum Beispiel:
/client/2
würde bei
/client/SOMEHASHKEY
zugänglich sein Ich denke:
1 - Haben DB-Tabellen, die Spur einer Ressourcen-ID hält und es entsprechende HASH und schau es dir bei jeder Anfrage an. Dies scheint offensichtlich ziemlich schwer zu implementieren, und Server-Arbeit ein wenig zu erhöhen.
2 - eine Art interne Verschlüsselungs- Algorithmus haben, die einen Hash zum Beispiel auf der Grundlage der Ressourcen Erstellungsdatum, die Ressourcen-ID und base64 es (natürlich nicht optimal, aber Sie erhalten den Punkt)
So gibt es schaffen würde gute Praktiken für diese Art von Szenarien? Was würden Sie empfehlen ?
Vielen Dank
Brummen also, wenn ich Ihre Antwort nehme und versuche, es auf meine Frage anzuwenden, meinen Sie, Tabelle zu verwenden, um cespondance zwischen Hash, GUID oder was auch immer und der tatsächlichen Ressource zu verfolgen? – silkAdmin
Es hängt davon ab, wie Ihre Anwendung die Ressource speichert. Ich habe keine Ahnung, wie die Ressource in der Anwendung aussieht. Aber ja, wenn Sie sich intern an Integer-IDs halten müssen, fügen Sie Ihrem Clientmodell eine weitere GUID-Eigenschaft hinzu. Wenn Ihr Speicher eine SQL DB-Tabelle ist, speichern Sie die GUID in einem zusätzlichen Feld der Client-Tabelle. – stmllr
damit wir zurück zur Frage der "guten Praxis" kommen, denke ich, dass Ihr Punkt ist, dass ich eine UUID auf der Ressourcen-Tabelle selbst indizieren sollte? – silkAdmin