1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| import csv import time
lists = ['users','permissions','tables','actionlog'] with open('users.csv', 'r', encoding="utf-8") as read_obj: csv_reader = csv.reader(read_obj) list_of_csv = list(csv_reader) users = list_of_csv with open('permissions.csv', 'r', encoding='utf-8') as read_obj: csv_reader = csv.reader(read_obj) list_of_csv = list(csv_reader) permissions = list_of_csv with open('tables.csv', 'r', encoding='utf-8') as read_obj: csv_reader = csv.reader(read_obj) list_of_csv = list(csv_reader) tables = list_of_csv with open('actionlog.csv', 'r', encoding='utf-8') as read_obj: csv_reader = csv.reader(read_obj) list_of_csv = list(csv_reader) actionlog = list_of_csv
name_ti = 0 per_ti = 0 flag = '' for log in actionlog[1:]: log_id = log[0] log_name = log[1] log_time = log[2].split(' ')[1] log_opt = log[3]
for users_A in users[1:]: users_id = users_A[0] users_name = users_A[1] users_per = users_A[3] if users_name == log_name: name_ti = 0
for per_A in permissions[1:]: per_id = per_A[0] per_qx = per_A[2] per_table = per_A[3]
if users_per == per_id: log_opt_list = log_opt.split(' ') per_table_list = per_table.split(',') for tb in tables[1:]: print(tb) tb_id = tb[0] tb_name = tb[1] tb_time = tb[2].split(",") if tb_name in log_opt_list: if tb_id in per_table_list: if log_opt_list[0] in per_qx: try: tb_time_1 = tb_time[0].split('~') tb_time_2 = tb_time[1].split('~') if tb_time_1[0] < log_time < tb_time_1[1] or tb_time_2[0] < log_time < \ tb_time_2[1]: pass else: print('编号:',log_id,"账户不在规定时间内操作", users_id+'_'+per_id+'_'+tb_id+'_'+log_id) flag +=users_id+'_'+per_id+'_'+tb_id+'_'+log_id except: tb_time = tb_time[0].split("~") if tb_time[0] < log_time < tb_time[1]: pass else: print('编号:', log_id, '账户不在规定时间内操作操作', users_id + '_' + per_id + '_' + tb_id + '_' + log_id) flag += users_id + '_' + per_id + '_' + tb_id + '_' + log_id + ',' else: print('编号:', log_id, '为对表执行不属于其权限的操作', users_id + '_' + per_id + '_' + tb_id + '_' + log_id) flag += users_id + '_' + per_id + '_' + tb_id + '_' + log_id + ',' else: print('编号:', log_id, '为对不可操作的表执行操作', users_id + '_' + per_id + '_' + tb_id + '_' + log_id) flag += users_id + '_' + per_id + '_' + tb_id + '_' + log_id + ',' break break break else: name_ti += 1 if name_ti == len(users[1:]): print('编号:', log_id, '为不存在用户操作', '0_0_0_' + log_id) flag += '0_0_0_' + log_id + ',' name_ti = 0 flag = flag.split(',') flag = sorted(flag) flag = ','.join(str(fla) for fla in flag) print(flag)
|