2012-09-23 4 views
1

나는 GAP을 사용하여 파이썬에서 웹 응용 프로그램을 개발 중이며 여러 사용자가 있으며 각각은 자체 리소스를 가지고 있습니다.사용자 액세스 제한 웹 사이트

내가 알고 싶은 것은 사용자 A/A/resource/의 리소스가있는 경우 해당 리소스에 대한 사용자 B의 액세스를 어떻게 제한 할 수 있습니까?

쿠키를 사용하여 작업하고 있다고 생각했지만 더 좋은 방법이 있는지 궁금합니다.

답변

0

당신은 사용자가 서비스를 사용하는 경우 : 당신은 구글

그런 다음 각각의 자원에 대해 "사용자"를 소유하고 무엇을 추적하는 등 로그인을 위해 제공하는 보안 기능을 활용할 수 있습니다

https://developers.google.com/appengine/docs/python/gettingstarted/usingusers

및 그 사용자와 그 사용자에게만 제공하십시오.

user = users.get_current_user() 
if user == valid_user_for_this_resource: 
    #serve resource 
else: 
    #deny access 

그렇지 않으면 자신의 로그인 서비스를 굴려서 그런 식으로 확인할 수 있습니다.

+0

저는 자체 로깅 서비스를 운영하고 있습니다. 내가 알고 싶은 것은 리소스에 액세스하는 사용자가 소유하고 있음을 확인하는 방법입니다. 쿠키를 통해서만? – coredump

+0

"로깅 서비스"란 무엇을 의미하는지 확실치 않습니다 (로그인 서비스!). 나는 각 사용자의 리소스 파일에도 해당 리소스를 만든 사용자가 포함 된 비슷한 시스템을 수행했습니다. 그런 다음 자원에 사용자 서비스를 통해 현재 로그인 한 사용자를 확인하도록 요청하면이를 자원의 "소유자"와 비교하여 일치하면 제공하십시오. 쿠키를 사용하고 싶다면 webapp2 세션을 살펴보아야 할 것입니다. 아마 훨씬 쉽고 재 구현 될 것입니다. http://webapp-improved.appspot.com/api/webapp2_extras/sessions.html –

+0

아니요, '쿠키를 통해서만'이 아니라 모든 방식으로 사용할 수 있습니다. 리소스의 소유자에게만 부여되는 특별한 고유 URL (UUID 호출을 통해)을 만들 수 있습니다 (모호함으로 보안). 실제로 쿠키와 크게 다르지 않습니다. 나는 당신의 쿠키를 복사하고 당신 인 척하고 그 독특한 URL을 복사하고 당신처럼 행동 할 수는 있지만 사용자 서비스에서 사용자 ID를 복사 할 수없고 당신 인 것처럼 가장해야한다. 나는 반드시 로그인해야한다. –

관련 문제