auth模块是Django提供的标准权限管理系统,可以提供用户认证、用户组和权限管理。auth可以和django admin模块配合使用、快速建立网站的管理系统。只需要在django的配置文件中INSTALLED_APPS中注册‘django.contrib.auth’APP即可。
一、auth模块相关的表
user表,User是auth模块中维护用户信息的表,在数据库中该表被命名为auth_user. 该表继承自Abstractuser.
group表,定义用户组模型,该表只包含一个name字段和一个permissions(权限)多对多关系字段,在数据库中被命名为auth_group.
Permission, 权限表,提供表级别的权限控制,可以检查用户是否对某个表拥有增(add),改(change),删(delete)权限。
来看看三张表的关系:,,
从数据库生成的表来看,这三张表实现了两两多对多的关联,其中用户和组生成的第三张表是auth_user_groups,group和permission生成的第三张表是auth_group_permissions,用户和权限生成的第三张表是auth_user_user_permissions,如下图:
二、User
在auth中user继承自AbstractUser