zoukankan      html  css  js  c++  java
  • Django -- 权限初识

    需求分析-场景

    假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号。有如下几个要求:

    1、权限等级不同

      公司领导登录后可查看所有员工的信息,部门领导登陆后之可查看本部门员工的信息,员工登录后只能查看自己的信息

    2、访问权限不同

      如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到;

    3、操作权限不同

      如系统管理员可以在信息发布界面进行增删改查发布信息,儿普通员工之可以在信息发布界面进行查看,不能修改、删除和新增。

    功能分析

    1. 登录一个系统,基本都需要用户输入用户名、密码;

    2. 每个用户的角色不同,则其访问权限一般也不同,如:

      系统管理员:可以查看所有界面;

      普通用户: 只能查看部分界面;

    3. 不同的用户,即使可以查看同样的界面,但在该界面上课进行的操作权限也不同,如:  

      用户1:可以在界面1上进行增删改查;

      用户2:只可以在界面上1上查看,不具备增删改功能;

    4. 不同用户基本都对应不同角色,如:用户1、用户2分别对应管理员角色、操作员角色,角色之间也存在权限等级的差异,如:
          角色1:对应省级管理员;==>可以查看该省下的所有学校信息;
          角色2:对应市级管理员;==>可以查看该市下的所有学校信息;
          角色3:对应县级管理员;==>可以查看该县下的所有学校信息;
    不管是省、市、县哪个系统管理员,他们可访问的界面都是相同的(即访问权限相同),且在每个界面上可进行的操作权限也相同的,不同的是每个管理员角色可以访问的学校个数和学校范围不同,这里称这种不同为:权限等级不同;
     
    总结:
    从上面的分析中,主要涉及到以下几个概念:
    1.角色:
           如系统管理员角色,系统操作员角色,普通用户角色;
           不同的角色,其访问权限是不同的,即可访问的模块(界面)集合是不同的;
           角色的权限等级也不同,权限等级如:公司领导、部分领导、普通员工;
    2. 模块:(界面)
        模块就是指具体的界面,每个模块上又有不同的操作,如增删改查;
    3. 访问权限:确定角色可以访问的模块(界面)集合;
    4. 操作权限:确定可以在各模块(界面)上进行的操作集合,如增删改查;
    5. 权限等级:即确定角色可以访问的范围,如:
             角色1:权限等级为公司领导,则可以查看公司所有员工信息;
             角色2:权限等级为部门领导,则只可以查看该部门所有员工信息。

    数据库设计

  • 相关阅读:
    数据类型
    springboot中get post put delete 请求
    图解SQL的inner join、left join、right join、full outer join、union、union all的区别
    【转】MyBatis之级联——一对一关系
    【转】浏览器同源政策及其规避方法(2)
    【转】浏览器同源政策及其规避方法(1)
    Spring Boot配置文件详解
    【BUG】Spring Mvc使用Jackson进行json转对象时,遇到的字符串转日期的异常处理(JSON parse error: Can not deserialize value of type java.util.Date from String[])
    【转】SpringBoot Mybatis 读取配置文件
    MySQL
  • 原文地址:https://www.cnblogs.com/wxj1129549016/p/9956309.html
Copyright © 2011-2022 走看看