吴
吴剑明
Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵,是关于权限设置的好算法的。
这个问题大凡写过数据库程序的人,都会遇到的。
不同的级别有不同的访问权,管理员的、操作员的。。。
不同的部门不能访问其他部门的资料,产品打折时,级别低的
只能打小的折,再大点的折就要上一级授权,等等。
我以前的做法,和不少人一样(呵呵),都是在程序里就把权限分
好的,管理员可以干这些,操作员只能干那些。然后把各个员工分上
等级。够简单,方便。但现在不行了。:(
现在有更高的要求了,要求程序中的每一个选项,都有自己的读写权限,
并且这种权限是可以随时设置的(看上去有点象NT的权限设置),稍高点的
可以向稍低点的授权。稍低点的访问稍高点的时,输入稍高点的密码,可以在
本次操作时暂时获得稍高点的权限,操作结束,又恢复原来的权限。
很重要的一点,要求权限设置必须尽可能独立于其他模块。在其他模块中
不要把权限写死。而且权限设置必须写入“服务端”,如果写在客户端,很可能
别人用第三方的数据库程序,就轻易的“攻入”数据库里了。但是在客户端程序
中,必须有权限设置的模块给用户来设置。
不是什么高级大问题,但是很实际,很多人都遇到过的。我想集大家的智慧,搞
一个“最终解决方案”,不知大家肯赏脸不?
分不够可以再加!
这个问题大凡写过数据库程序的人,都会遇到的。
不同的级别有不同的访问权,管理员的、操作员的。。。
不同的部门不能访问其他部门的资料,产品打折时,级别低的
只能打小的折,再大点的折就要上一级授权,等等。
我以前的做法,和不少人一样(呵呵),都是在程序里就把权限分
好的,管理员可以干这些,操作员只能干那些。然后把各个员工分上
等级。够简单,方便。但现在不行了。:(
现在有更高的要求了,要求程序中的每一个选项,都有自己的读写权限,
并且这种权限是可以随时设置的(看上去有点象NT的权限设置),稍高点的
可以向稍低点的授权。稍低点的访问稍高点的时,输入稍高点的密码,可以在
本次操作时暂时获得稍高点的权限,操作结束,又恢复原来的权限。
很重要的一点,要求权限设置必须尽可能独立于其他模块。在其他模块中
不要把权限写死。而且权限设置必须写入“服务端”,如果写在客户端,很可能
别人用第三方的数据库程序,就轻易的“攻入”数据库里了。但是在客户端程序
中,必须有权限设置的模块给用户来设置。
不是什么高级大问题,但是很实际,很多人都遇到过的。我想集大家的智慧,搞
一个“最终解决方案”,不知大家肯赏脸不?
分不够可以再加!