与大家讨论一个绑定记录集实时更新的安全性问题
与大家讨论一个绑定记录集实时更新的安全性问题------------------------------------
在客户端进行记录编辑时,可以将字段绑定到控件(比如表格)上,这样用户操作时,只要下移一条记录,则这条记录会实时更新到后台,这本来是非常方便的功能,但是有一个安全性问题不知大家注意到没有,在实际中是如何解决的?
这个安全性是这样的:
假如我操作期间,这个单据执行了审核操作,则理论上是不能再被修改的.但是绑定记录集的情况下,还会修改数据的,因为绑定字段的更新是系统自动的,他不会是验证这个单据是否已经审核过,所以这就是一个安全问题.可能你会问,有这种可能性吗,没改完就审核,我可以负责任的说,完全有可能的.但并不是没做完单据就审核,而是要保证审核后,数据会立即受到保护.
说到这里,不得不说一下我们单位曾经请一个小公司开发的管理程序.这个程序很不严格,假如A用户打开了这个单据,但是有点事出去了,注意,A用户并没有关闭打开的程序.这时B用户从另一台机器打开这个单据进行修改,然后审核.可是过了2个小时,A用户回来了,但是他不知道单据已经改好了.但依然续续修改2小时前打开的单据,这个单据还是可以修改的,因为程序只判断打开单据时的审核状态.
通过我举的例子你可能明白我说的意思了吧.
比如A用户打开修改单据的窗体想对单据进行修改(表格与数据绑定,下移记录便会自动更新),可此时A用户有事出去一下,他并没有关闭已经打开的窗体,这时B用户从自已的机器上修改了A用户没改完的单据,并进行审核.过一会A回来了,他并不知道B已经帮他将单据做好了并审核,就继续修改单据.此时还是可以改的.可见审核操作并没有禁止A用户对记录的修改,这就会造成误操作呀.
实际中如何处理这个安全问题呢?