Django Token-API 的 Web 服务请求认证

0 投票
1 回答
654 浏览
提问于 2025-04-18 05:25

我想为一个iOS应用程序用django实现一个网络服务。
我需要某种认证方式,查了一下,听说django的token-api不错。

不过我有个不明白的地方,就是怎么确保一个认证过的用户不能为其他用户执行操作。

举个例子,如果我有一个视图加了@token-required装饰器,这只是保证发送了一个有效的token,但有人可以在请求中直接改动用户的ID,然后就能为其他用户做修改。

我该怎么确保持有token的用户只能为自己执行操作呢?

1 个回答

0

从大方向上来说,你需要区分身份验证授权。你可以查看这个页面,或者在网上搜索更多信息。简单来说,身份验证是用来确认一个用户是否真的是他所说的那个人,而授权则是用来确定这个用户可以看到或做什么事情。

正如你上面提到的,你可以使用django-token-api来帮助解决身份验证的问题。但是一旦确认了身份,你就需要进入授权的环节。这主要是关于权限的问题,你可以根据每个用户(或每个组)来查看单独对象、视图等的权限。

正如Ambroise在评论中提到的,使用API框架可以让这个过程更简单。这里django-rest-framework的文档,介绍了在用户身份验证后如何设置权限。

撰写回答