首页 > 其他 > 详细

django, django_restful 关于Authentication的学习总结

时间:2020-01-02 13:46:36      阅读:105      评论:0      收藏:0      [点我收藏+]

一、关于配置

django: 配置为AUTHENTICATION_BACKENDS

restful:  配置为 DEFAULT_AUTHENTICATION_CLASSES

 

REST_FRAMEWORK = {
    DEFAULT_AUTHENTICATION_CLASSES: [
        rest_framework.authentication.BasicAuthentication,
        rest_framework.authentication.SessionAuthentication,
        rest_framework.authentication.TokenAuthentication,
        rest_framework_simplejwt.authentication.JWTAuthentication,

    ],
    DEFAULT_PAGINATION_CLASS: rest_framework.pagination.PageNumberPagination,
    PAGE_SIZE: 2

}

AUTHENTICATION_BACKENDS = (
    #new
    rest_framework.authentication.TokenAuthentication,
    #default  ModelBackend
    django.contrib.auth.backends.ModelBackend,
)

 

二、django什么时候调用authenticate?

1.django, 在login view中,进行用户验证时, 调用 django.contrib.auth.authenticate.

def login_custom(request):

    if request.method == POST:

        # create a form instance and populate it with data from the request:
        form = myAuthenticationForm(request.POST)
        # check whether it‘s valid:
        if form.is_valid():

            username = form.cleaned_data[username]
            password = form.cleaned_data[password]
            user = authenticate(request, username=username, password=password)
            if user is not None:

                login(request, user)
                return redirect(login:home)
            else:
                return render(request, registration_my/login_custom.html, {form: form})

验证的参数: 可以是username+password, 也可以是token, 

返回:none 或  setting. AUTH_USER_MODEL (如果不custom,则是auth.user)

注意,如果不调用 django.contrib.auth.authenticate. 那么setting. AUTHENTICATION_BACKENDS根本用不上,就不会被调用。

 

3. restful 什么时候调用DEFAULT_AUTHENTICATION_CLASSES 中的定义类?

 

2.restful , 在login view中,进行用户验证时, 调用 django.contrib.auth.authenticate.

 

4. 2个配置参数的共同点

DEFAULT_AUTHENTICATION_CLASSES、AUTHENTICATION_BACKENDS 可以定制多个类, 有框架默认,还可以自己定制。
返回参数不同, 调用机制一样。none,user,token.

django, django_restful 关于Authentication的学习总结

原文:https://www.cnblogs.com/lxgbky/p/12132117.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!