
django
文章平均质量分 59
thorraythorray
这个作者很懒,什么都没留下…
展开
-
DRF使用jwt对自定义Users表的认证
贴出settings,使用DRF的jwt插件是djangorestframework-simplejwt。 AUTHENTICATION_BACKENDS 重写User认证的AUTHENTICATION后端。DRF默认的是django自带的User表,如果只改AUTH_USER_MODEL全局变量,需要补充所有django.User带的属性,is_anonymous等。因为在后面的校验中会用到这些属性。 DEFAULT_PERMISSION_CLASSES 继承restframework的BasePerm原创 2022-01-18 13:43:58 · 1112 阅读 · 0 评论 -
DRF的权限认证逻辑
上图引用:https://www.cnblogs.com/hehecat/p/9349427.html DRF的View最终继承的是ModelViewSet,它继承了多个http action的mixin,并加入了get_object等方法,从而可以直接从定义类参数上完成对API的编写。使用ViewSet的好处就是可以直接复制路由。 router.register(r'groups', views.GroupViewSet) 但因为继承了ViewSetMixin重写了as_view方法,如果自己写路由.原创 2022-01-12 19:27:22 · 281 阅读 · 0 评论 -
简析django源码中对csrf的处理
csrf 跨站点请求伪造(Cross—Site Request Forgery),具体过程如下: 用户登录后访问某网站A,将cookies存在浏览器。 在未退出的情况下访问另一个网站B,这时候携带的信息就会全部发给B。 网站B拿着你的信息又去访问A,这样就造成了跨站请求伪造。 解决方案 检验http headers中的Referer,它的内容就是这次http请求的网站地址。对于服务端来说,在请求头部信息里我们可以过滤出有害请求地址的黑名单。 添加随机参数token,来每一次请求到来后,对比token值原创 2021-01-13 09:13:51 · 228 阅读 · 0 评论