..
Django 授权、rest-framework 验证
backends
django 自带的backends,目的是用于登录授权.
它所希望的效果是,通过扩展开发backends,完成其他系统的对接.
然后通过修改配置文件(settings.py)完成终极目标,而不需要以侵入的方式,去修改原本的接口中关于登录部分的代码.
authentication
restframework 的 authentication,应该处于校验.
即,通过访问接口时携带的信息,找到User.
比如 Cookie,Session,亦或者jwt等.
它不被设计来做登录,仅该用于查找用户的过程.
permission_classes
这里的权限,是前面authentication寻找用户的后处理.
此时用户可能已经找到了User,但可能也没找到User(匿名用户).
这里的配置就用于判断:此时的已登录用户或者匿名用户,是否有权限继续访问.
所以这里的配置,比较粗,包括: 不需要登录,需要登录,管理员用户,管理员或者只允许读等(django 自身的permission).
回顾
开发时很多功能都能各自为营完成,但仍需要一个更优雅的,可复用更强的代码组织形式.