我正在爲我的前端創建一個使用backbone.js的應用程序,並且爲我的後端創建了一個使用django-rest-framework的應用程序。我希望能夠註冊用戶,登錄和註銷用戶,並檢查用戶是否使用骨幹網登錄。Backbone.js和Django Rest框架註冊和身份驗證
我瞭解django身份驗證如何工作以及drf如何使用身份驗證,但我不知道如何將其綁定到主幹。
任何人都可以指向正確的方向嗎?
我正在爲我的前端創建一個使用backbone.js的應用程序,並且爲我的後端創建了一個使用django-rest-framework的應用程序。我希望能夠註冊用戶,登錄和註銷用戶,並檢查用戶是否使用骨幹網登錄。Backbone.js和Django Rest框架註冊和身份驗證
我瞭解django身份驗證如何工作以及drf如何使用身份驗證,但我不知道如何將其綁定到主幹。
任何人都可以指向正確的方向嗎?
如果您的所有應用只能通過用戶密碼訪問,請使用Django的身份驗證系統https://docs.djangoproject.com/en/1.7/topics/auth/default/#django.contrib.auth.views.login。使所有的觀點@login_required。
現在如果你想通過Ajax調用來記錄他們在,創建一個視圖如下:
from django.contrib.auth import authenticate
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def login_ajax(request):
data = json.loads(request.body.decode("utf-8"))
user = authenticate(username=data['user'], password=data['pass'])
if user:
return HttpResponse("OK")
else:
return HttpResponse("Error", status=401)
後來,你的JS您的模板:
$.post(/* url where you mapped the login_ajax view */, { user: "John", pass: "abc123" })
.done(function(data) { alert("User logged in: " + data);})
.fail(function(data) { alert("User not logged in: " + data);});
我在使用django-rest-auth和AngularJS。它爲您提供一組REST API端點來處理用戶註冊和身份驗證任務,並與django-rest-framework和django-allauth完美集成。
要獲取用戶的信息,你需要調用這個API:
.../rest-auth/user/
默認情況下的反應是:
username
first_name
last_name
email
但你可以與其他信息進行擴展。
你是什麼意思「把它綁在骨幹「?你可以在javascript和'request.is_authenticated'中訪問'request.user'。 – alejoss
我認爲這是「不知道要問什麼」的問題之一。如果我有一個骨幹模型,基於像'urlRoot:/ model'這樣的drf端點,我可以調用.save將其發佈到drf,或者.delete將其刪除,但是它不像那個用戶對嗎?骨幹視圖如何註冊用戶或登錄用戶?感謝您的建議,但我會繼續關注這一點。 – grez
我從來沒有使用骨幹註冊用戶或登錄他們。我認爲你想要的只是與'request.user'交互。但是,我認爲利用Django身份驗證系統並將Backbone用於其他交互是明智的。 – alejoss