2015-10-23 88 views
1

我爲公司開發了Python/Django應用程序。在這個應用程序中,公司的所有員工都有用戶名和密碼登錄。現在需要一個可以執行某些功能的電話應用程序。從電話應用登錄

在一些功能我有裝飾@login_required

因爲我想和這個裝飾不是反對它的工作安全方面的原因,所以我該怎麼辦?

我使用PhoneGap(JavaScript/JQuery)來製作手機應用程序,如果有幫助的話。我可以做我自己的研究,但我只需要一個起點。我是否獲得某種令牌並將其保留在所有HTTP請求標頭中?

第一次嘗試:

我在想,也許我發送到服務器,並獲得某種身份驗證令牌或東西。也許有一些Javascript代碼使用相同的算法散列我的密碼,以便我可以將其與數據庫進行比較。

感謝

+0

使用http://www.django-rest-framework.org/ –

回答

1

由於您使用的是手機應用程序,因此您很可能正在使用來自RESTful API或某種API的數據。構建「安全」用戶系統的最簡單方法是使用Django Rest Framework http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication中的令牌認證系統。

登錄後,獲取令牌並使用授權標頭驗證您的請求。

,可以很方便的登錄勾流過一個RESTful API - https://github.com/Tivix/django-rest-auth

注意:只有擁有HTTPS使用。

+0

「安全」是什麼意思?其餘框架中是否存在任何漏洞利用? – Dominic

+0

安全,因爲在不易破解,「安全」可能是更好的詞。令牌身份驗證與HTTP是危險的,因爲如果有人通過HTTP看到您的未加密流量,他們只能嗅出用戶的令牌並假裝是該用戶。基本上你所期望的任何認證系統 – jonzlin95

0

你會需要或者暴露在設置文件Django的標記,以便它可以通過jQuery訪問,或裝飾不會是通過手機訪問。或者,您可以開始使用類似於oauth的東西