江南大学学士学位论文
管理员或者普通用户登录系统时,系统会自动记录该用户的IP地址以及操作内容,如登录或者更改用户密码.用户可查看历史记录,这也是信息安全的一种体现.
图4-32 用户修改密码日志
4.3.4 记录文件日志
文件发送后,为满足其生命周期在用户控制和安排中,系统会自动记录该文件的操作记录,包括使用者、使用者IP地址、操作内容以及计算该文件的剩余使用次数等.
图4-33 文件操作日志
28
外发加密文件管理平台
第5章 关键技术分析
5.1 MySQL定时器EVENT
本系统需要用到Event的操作执行用户编辑项.当用户提交修改消费类型,比如包月用户想要改为按量计费或者按量计费的用户想转为包月需要在每个月的特定时间执行.为保证执行的必然性,排除系统不稳定性,故将该事物写入数据库中.MySQL从5.1开始支持event功能,类似oracle的job功能.有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了.如linux crontab功能.Andrey Hristov 先生在完成他的硕士论文的时候为MySQL 5.1 增加了“事件”的特性,作为开发者,我们都很喜欢这个特性.而现在Andrey Hristoy 也已经来到MySQL工作了,令人振奋,MySQL 5.1 也越来越稳定了,版本号也由“Beta”变成了“Alpha”,因此我们可以尝试使用这个“事件”特性来进行一些真正的工作了.
? 查看是否开启定时器
SHOW VARIABLES LIKE '%sche%'; ? 开启定时器 0:off 1:on
SET GLOBAL event_scheduler = 1;
//数据库的event中写入的是每月一号凌晨执行以下操作: set global event_scheduler = 1 ;
CREATE EVENT MyEvent1
ON SCHEDULE EVERY 1 mounth starts(2011-11-01 00:00:00) DO
//更改有标记字段的包月消费者为按量计费
update T_Charge set ExpenseType=1 where ExpenseType=2 and Ordering=1; CREATE EVENT MyEvent2
ON SCHEDULE EVERY 1 mounth starts(2011-11-01 00:00:00) DO
//更改有标记字段的按量计费者为包月
update T_Charge set ExpenseType=2 where ExpenseType=1 and Ordering=1; set global event_scheduler = 0 ; drop EVENT MyEvent ;
5.2 菜单管理权限
通过将菜单项保存在数据库而非是XML等文件中或者静态页面,从而用菜单编号来管理用户权限是本系统的亮点.并且能够动态管理菜单,也大大提高了系统的可扩展性和可壮大性,更是从基础上保证了系统的稳定性.
当添加新的主菜单时,输入的菜单编号必须是唯一的,即在数据库中没有该项,然后在主菜单下添加子菜单,该子菜单的编号前两位直接继承主菜单的编号,即生成为4位的
29
江南大学学士学位论文
子菜单编号.这样当显示时,根据主菜单的编号即可找到相应的子菜单项. 这里用到的JS代码为: