天天看点

用PythonPi实现门禁系统-权限管控

门禁系统的课程正在开发中:用PythonPi实现门禁系统

欢迎提出宝贵意见哦

对门禁系统来说,权限就是是否许可某人通过某门。从控制的角度来说,就是读入一个卡号,决定是否开锁或采取其它动作。

智能控制系统首先是一个信息系统,信息系统中的权限是对信息资源的管控,按信息流动的方向有两种权限:

  • 根据访问者是否有权读取信息来决定是否允许信息流出
  • 根据访问者是否有些操作信息来决定是否接受信息流入,这又包括了对信息的删除、修改、新增,统一视为修改

而对于门禁系统来说,甚至是控制系统来说,基本上主要是对信息修改(改变门的开关状态、改变灯的开关状态等等)进行管理,也就是访问者是否有权执行某些动作。

在信息系统中,尤其是管理信息系统中,角色是权限管理的核心概念,其约可等价于我们日常工作中的职位。我们可将职位视为由职权和职能组成,职权是对资源的访问或使用权限,职能是允许采取那些行动。因为行动对于信息系统来说其实就是预设的消息发送,所以一个角色就可视为对一组信息资源的访问权限的组合。

因此,一般在管理信息系统中,不会直接对具体的个人进行权限定义(否则调整起来太麻烦而且容易出现疏忽),而是定义出各种各样的角色,然后根据某人的职位将相应的角色映射到某人。一般来说,由于实际工作中所涉及的资源种类、数量繁多,具体工作人员的职能职权总是在不断进行调整的,所以角色的管理是基于具体工作来展开的,即将某个具体流程的工作环节所需的职能职权设为一个角色,然后根据某人实际承担了什么样的工作,就把相应的角色全部分配给他。

所以实际的管理系统中,看不到人(作为HR系统的管理目标除外),而是种种角色。人对系统来说,实际上就是一组角色的动态集合(随工作岗位的调整而调整,甚至是随临时性工作的变动而变动)

有时还需要把角色进行层次性的组织,如技术部经理,由通常的经理角色和技术部独有的技术决策角色组成,具体则包括如报销审批、请假审批、出差审批等通常的经理职能,还包括了诸如合同技术条款审批、技术方案审批等技术决策职能。

类似的,在门禁系统中,也是先定义出一些预设的角色,将那些可通过的门绑定到相应的角色,然后再将具体的人绑定到不同的角色上,这就实现了某人可开某门的授权管理。

出于安全的考虑,安防系统的默认策略必须是非明确授权则不许可!

不过,一般的门禁系统和普通的管理系统还是有所不同的,由于一般的门禁系统中门数量不是很多,管理工作也多是由系统开通工程师或安保人员来完成的,因此一般的门禁系统将权限管控进行了很大的简化,一般只允许一个人只能绑定一个角色。

PythonPi没有这个限制

====================================================================================================

关注我的公众号及时获取推送的最新文章

用PythonPi实现门禁系统-权限管控