2015-10-23 46 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的东西