一时失误的权限设计

    最近接到一个需求需要增加一个功能的权限控制点。以前由于设计时没有考虑权限这块,这是允许管理员进行
操作,但是随着业务的发展和实际需要,使用管理员账号来做相当的不便。所以决定加上这个权限控制点。
具体来说说我们这个需求吧,其实也不难。就是要给客户批量导入,客户批量修改,客户批量更新增加一个新增
和修改的权限。刚开始我也认为很简单,接到需求后,我了解清楚,并和BA确认完毕后,就将任务交代给另外一个
同事进行开发。自然这个任务也没有想象的那么难,很快就完成了开发和单元测试。但是经过测试人员的测试发现
了一个诡异的Bug,就是批量新增和批量修改的权限同时选择时,会相互覆盖,也就是说,你如果同时选择新增和
修改权限,那么不好意思,只能保存一个到数据库中。
于是我觉得很奇怪就跟踪了下,并查看了数据库中的权限设置,问题出现了,原来批量导入和批量修改是共用的
一个画面,不仅画面是一个,当初设计权限点时也是合并在一起的,只有一个ID来记录这2个画面的功能点。
所以如果在选择了批量导入中的查看和新增功能,并且同时选择了批量修改的查看和修改功能,那么数据库保存
时将用后者覆盖前者。当然这个问题不是无法解决的,只需要将这2个的功能权限点分开成2条记录存储即可,不要
合在一起,当然也可以使用特殊方法处理这2个的权限,但是无疑这都不是最好的方法来处理。
最好的是在设计权限之初就将这2者彻底分离,以免后期维护和升级及业务变更时,更改的代价太大。权限的控制
最好细到一个画面,一条记录的控制,不要想着省事,合并一起用。今天算是体会到了这样合并的代价。

转载于:https://www.cnblogs.com/kevinGao/p/3589975.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库课程设计的客房管理系统是一个综合性的项目,涉及到数据库设计与管理、前后端的连接、界面设计等多个方面。通过这个项目,你可以学到关于数据库的触发器知识、Python的基本语法、Python一些第三方库的使用,以及如何将前后端连接起来。 在这个项目中,数据安全是非常重要的。为了保护数字信息免受未经授权的访问并抵御损坏、失窃等风险,我们设置了权限访问,只有输入正确的账号密码才能查看系统中的相关信息。非管理员登录无法得到系统的信息。此外,我们还可以通过输入的账号密码匹配查看相应的数据报表和客户员工个人信息,或者修改需要变动的数据。这也使得信息不容易被泄露出去,增加了数据的可改性。为了加强数据的安全性,我们还设置了在登录页面可修改密码功能。 为了防止人为操作失误使得原数据丢失、软件BUG造成数据丢失以及硬件故障造成数据库数据丢失等问题,我们设置了数据库备份,用来找回丢失的数据信息。尤其是客户的预订信息、入住信息以及数据报表的信息,在每添加一名新客户或新团体时,我们的数据库便会进行更新,这也有利于我们进行数据核对。使用数据库备份也有利于相同数据库用于新环境的搭建以及开发测试环境数据库的搭建。 总结来说,数据库课程设计的客房管理系统是一个综合性的项目,通过这个项目你可以学到数据库设计与管理、Python的基本语法、Python一些第三方库的使用,以及如何将前后端连接起来。同时,数据安全和数据库备份也是这个项目中非常重要的部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值