2012-03-05 7 views
1

私はdjango-rest-interfaceを使ってAPIを構築しています。私はカールを通じて要求を行うときしかし、言う:Django Rest Interface - 私のリソースで認証されたユーザーにアクセスできない

curl -u 'username:password' -X PUT --data "field=value" http://127.0.0.1:8080/resource/ 

とGETでからrequest.userにアクセスしようと()、ポスト()、(入れ)またはリソースで()メソッドを削除し、I AnonymousUser()にアクセスしているというエラーが表示されます。

これらの方法でどのように認証できますか?

EDIT:

私は右のハンドラの前に、ジャンゴ・休息・フレームワークのファイルviews.pyに()関数派遣でからrequest.user = self.userを追加することによって、私のために、この問題を解決することができました(リクエスト、* args、** kwargs)。

しかし、これが正しいのかどうかはわかりません。

答えて

0
from djangorestframework.authentication import BasicAuthentication 

class BasicUserAuthentication(BasicAuthentication): 
    """ A simple wrapper that also sets request.user when using basic auth """ 

def authenticate(self, request): 
    user = super(BasicUserAuthentication, self).authenticate(request) 
    if user: 
     request.user = user 
    return user 

上記のように、BasicAuthenticationをサブクラス化することでこれをやり直すことができます。それは私にdjango-rest-frameworkを質問させるようなものですが...

関連する問題