auth

auth

auth组件在django中提供:admin登录、权限的配置等功能。
image
image
image

创建用户

  • 命令

    python manange.py createsuperuser
    
  • 函数

    from django.contrib import admin
    from django.urls import path
    from django.shortcuts import HttpResponse
    
    
    def demo(request):
        from django.contrib.auth import models
        models.User.objects.create_user("user-1", "xxx@live.com", "xxxxxxx123123")
        models.User.objects.create_superuser("user-2", "xxx@live.com", "xxxxxxx123123")
    
        return HttpResponse("ok")
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('demo/', demo),
    ]
    

image
image

权限表

由于admin中为每个model类都会生成URL(增、删、改、查),所以在django中就以这些生成的URL的name值为权限标识(codename),后续用户访问时,根据请求url的name中来判断用户是否有权方法。

image

1.权限表内容

权限表内容是django内部自动生成,在我们执行migrate命令时,会自动触发 根据表创建权限的操作。

image
image

2.分配权限

在admin中,给用户可以分配权限。
image
image

3.权限校验

由于admin为每个表生成的增删改查的方法分别是:changelist_viewadd_viewdelete_viewchange_view,所以每个权限的判断都定义在了相应的视图函数中。
image
image
image
image

判断权限:
image

4.组和权限

image
image
image
image
image
image
image
image

posted @ 2023-04-02 11:53  Sherwin_szw  阅读(180)  评论(0)    收藏  举报