Sicherung von RESTapi in der Flasche

8

Die App, die ich gerade entwerfe, benutzt viele Ajax-Anrufe. Leider habe ich einen Haken bei der Recherche darüber, wie man den Zugriff auf die API einschränken kann. Zum Beispiel:

  • Ich habe eine Tabelle, die einen Ajax-Aufruf an Ссылка ausführt Ich muss sicherstellen, dass nur Bob, eingeloggt, diese Tabelle lesen kann (sonst könnte jemand, der das Muster kennt, verlangen, Bobs zu sehen Aufgaben durch einfaches Eingeben der URL im Browser).
  • auf einer anderen Seite muss dieselbe Tabelle in der Lage sein, Ссылка aufzurufen und die Aufgaben aller Benutzer anzuzeigen (nur ein Admin sollte das können)

Danke, dass Sie dies gelesen und vielleicht beantwortet haben.

    
pocorschi 08.08.2011, 21:41
quelle

1 Antwort

14

In der Ansicht von 1000 Fuß müssen Sie den Benutzer entweder mit:

authentifizieren

A) HTTP-Auth (entweder grundlegend oder Digest ) bei jeder Anfrage.

B) Serverseitige Sitzungen. (Der Benutzer authentifiziert und empfängt einen Sitzungsschlüssel - seine Benutzerinformationen werden im Sitzungs - Backend auf dem Server gespeichert und diesem Schlüssel beigefügt. Sobald sie eine Sitzung haben, können sie ihren Sitzungsschlüssel zurückgeben (entweder in der URL oder in ein Cookie) und die Informationen, auf die sie zugreifen können, werden an sie zurückgegeben.)

Flask hat ein paar nützliche Erweiterungen , die sich mit einem großen Teil dieser Art von Dingen beschäftigen - schau dir Flask-Login und Flask-Principal , um Beispiele zu sehen, wie eine Autorisierung zu einer Flask-Anwendung hinzugefügt werden kann.

    
Sean Vieira 08.08.2011, 21:49
quelle