django-rest-framework 认证和权限总览

认证(Authentication)与权限(Permission)的区别

认证(Authentication)与权限(Permission)不是一回事。认证是通过用户提供的用户ID/密码组合或者Token来验证用户的身份。权限(Permission)的校验发生验证用户身份以后,是由系统根据分配权限确定用户可以访问何种资源以及对这种资源进行何种操作,这个过程也被称为授权(Authorization)。

无论是Django还是DRF, 当用户成功通过身份验证以后,系统会把已通过验证的用户对象与request请求绑定,这样一来你就可以使用request.user获取这个用户对象的所有信息了。

你也可以这么理解

(1)认证指的是对用户登录的身份进行校验 (2)权限指的是一个登录验证通过的用户可以访问哪些接口,或者是对某一个接口可以拿到什么级别权限的数据