p6-day17 作业

用户权限

1. RBAC介绍

  1. 权限是什么?
  2. 理解什么是RBAC ?
  3. 具体应该怎么设计用户权限的管理?
     

2. RBAC表设计

  1. 掌握RBAC表设计, 可以实现表结构&表关系的分析
  2. 根据表结构的设计定义相关模型类
  3. 通过django admin 管理后台,将前端管理员的权限插入到权限表中。使管理员可以在前端进行权限管理。

3. 权限

完成1 & 2

  1. RBAC路由管理, 后端接口实现权限的增删改查。
  2. 自定义RBAC中间件,实现对用户的请求的鉴权,有权限才允许访问;否则拒绝访问。
  3. 修改JSONWebTokenAuthentication的底层源码,实现鉴权。
  4. 尝试在rest_framework的全局配置中解决权限校验
from rest_framework.permissions import BasePermission
import re

class MyPermission(BasePermission):
    def has_permission(self, request, view):
        # 权限认证,忽略登录的视图
        if re.findall(r"login|admin", request.path_info, re.I):
            return True

        # 会话认证通过,会有request.user
        # 这里先查询用户
        user = User.objects.filter(id=1).first()
        for i in user.role.all():

            if i.name == "管理员":
                # 有权限访问
                return True
        else:
            return False

然后配置全局鉴权:


REST_FRAMEWORK = {
	"DEFAULT_PERMISSION_CLASSES": ("users.utils.MyPermission", ),
}

4. 前端页面管理权限

在前端,登录管理员账号,实现权限的管理。(增删改查)
将当前系统中的所有其他的url地址,加入到权限表中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值