当前位置:   article > 正文

Django用户认证系统_django认证系统

django认证系统

1.用户身份认证

Django提供了authenticate方法用于对用户身份进行认证

user = authenticate(username='admin', password='admin')
  • 1

如果认证成功,将会返回user对象,否则返回None


2.权限管理

Django利用auth_permission表定义权限

Permission表的定义非常简单,只有三个属性:

  • name:权限显示的名称,最多允许255个字符
  • content_type:关联ContentType(记录App与model的信息)
  • codename:权限的名称编码,最多允许100个字符

在这里插入图片描述


3.权限的授予

首先,获取到User对象和Permission对象实例:

dahe = User.objects.get(username='dahe')
add_topic = Permission.objects.get(codename='add_topic')
change_topic = Permission.objects.get(codename='change_topic')
  • 1
  • 2
  • 3

对于User对象实例,可以使用get_all_permissions方法查看当前它所被授予的权限:

dahe_permission = dahe.get_all_permissions()
  • 1

给dahe用户添加权限:

dahe.user_permissions.add(add_topic, change_topic)
dahe_permission = dahe.get_all_permissions()
  • 1
  • 2

在这里插入图片描述

给用户删除权限:

dahe.user_permissions.remove(add_topic)
  • 1

清空用户权限:

dahe.user_permissions.clear()
  • 1

给用户组添加、删除权限的过程与User是类似的声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签