django用户和权限

用户权限关系

  • 首先:django的权限系统是针对模型的权限,并且这个权限只是标识,在具体认证的时候需要自己实现,但django提供了相关函数用来判断用户是否具有某个权限。
    关系图
  1. 这其中模型表、权限表会在执行命令python manage.py migrate的时候,自动为每个模型在模型表添加一条记录,,并且会为每一个模型在权限表中添加四条记录,这四条的codename分别是add_Modeldelete_Modelchange_Modelview_Model分别对应增删改查、CURD操作。
  2. 为用户分配的单个权限会存入用户权限表(具体看图)这个中间表中(因为用户和权限是多对多的关系)。
  3. 一般采用分组的方式为分组分配权限。分组需要自己根据需求创建,分组的权限会存入分组权限表(如图)这个中间表中(因为分组和权限也是多对多的关系)。
  4. 可以为用户选择他对应的分组会存入用户分组表(如图)这个中间表中(因为用户和分组也是多对多的关系)。
  5. 如果想要查询一个用户的所有权限:
    1. 查询用户权限表中有的所有权限
    2. 查询用户所属的所有分组
    3. 查询用户所属分组的全部权限

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django提供了内置的用户认证和权限管理功能,可以方便地实现用户注册、登录、注销以及不同用户角色的权限管理。下面是一些常用的Django用户认证和权限管理的功能和方法: 1. 用户注册: - 创建一个注册视图函数,接收用户提交的注册信息,并进行单验证。 - 使用Django的内置User模型创建用户,并保存到数据库中。 2. 用户登录: - 创建一个登录视图函数,接收用户提交的登录信息,并进行单验证。 - 使用Django的`authenticate()`函数验证用户用户名和密码是否匹配。 - 使用Django的`login()`函数将用户登录状态保存到会话中。 3. 用户注销: - 创建一个注销视图函数,调用Django的`logout()`函数注销当前用户。 4. 访问控制: - 使用Django的`@login_required`装饰器,限制只有登录用户才能访问特定页面或执行特定操作。 - 使用Django的`@permission_required`装饰器,限制只有具备特定权限用户才能访问。 5. 用户角色和权限管理: - 使用Django的内置Group模型,创建不同的用户组或角色。 - 将用户添加到相应的用户组中,实现不同权限的分配。 - 使用Django的`@group_required`装饰器,限制只有属于特定用户组的用户才能访问。 6. 自定义权限: - 使用Django的内置Permission模型,创建自定义的权限。 - 将权限分配给用户组或用户。 7. 单验证: - 使用Django的内置单验证功能,确保用户输入的数据符合要求。 8. 记住登录状态: - 使用Django的`SESSION_COOKIE_AGE`设置会话cookie的过期时间,以保持用户的登录状态。 以上是一些常用的Django用户认证和权限管理的功能和方法。通过使用这些功能和方法,可以轻松实现用户认证和权限管理的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值