2011-08-08 4 views
8

내가 사용하고있는 앱은 많은 아약스 호출을 사용합니다. 불행히도 나는 api에 대한 액세스를 제한하는 방법을 연구 할 때 걸림돌을 때렸다. 예를 들어 :플라스터에 RESTapi 고정하기

  • 나는 단지 밥, 로그인 있는지 확인해야 http://site/api/tasks/bob
    에 아약스 전화를하지 테이블이, 밥의를 보여달라고 요청할 수있는 패턴을 알 수 테이블 (그렇지 않으면 누군가를 읽을 수 있습니다 브라우저에 URL을 입력하여 작업). 다른 페이지에
  • 가, 같은 테이블이 http://site/api/tasks/all를 호출하고 모든 사용자의 작업을 보여줄 수 있어야

당신의 시간이 이걸 읽고 주셔서 감사합니다 (만 관리자가 그렇게 할 수 있어야한다) 및 어쩌면 대답 할거야. 각 요청에

A) HTTP-인증 (basic 또는 digest 중) :

답변

14

천 피트보기는 사용자 중과를 인증 할 필요가있다.

B) 서버 쪽 세션. (사용자는 세션 키를 인증하고 수신합니다 - 사용자 정보는 서버의 세션 백엔드에 저장되어 해당 키에 첨부됩니다. 세션이 있으면 세션 키를 사용자에게 전달할 수 있습니다 (URL 또는 쿠키) 그들이 액세스 할 수있는 정보는 그들에게 반환하는)

플라스크는 이런 종류의 큰 부분을 다루는 유용한 extensions 한 쌍의 -. 어떻게 인증의 예를 볼 수 Flask-LoginFlask-Principal 체크 아웃 Flask 응용 프로그램에 추가 할 수 있습니다.

+0

두 번째 구현 방법에 대한 자세한 정보는 알고 싶습니다. – pocorschi

+0

@InnocentPixel - Flask에는 이미 문서화 된 세션 API가 내장되어 있습니다. 참조 : http://flask.pocoo.org/docs/api/#sessions –

관련 문제