352 lines
12 KiB
C
352 lines
12 KiB
C
#include <stdio.h>
|
||
#include <time.h>
|
||
#include <stdlib.h>
|
||
#include <unistd.h>
|
||
#include <cjson/cJSON.h>
|
||
#include "common_user.h"
|
||
#include "array_index.h"
|
||
#include "user_group.h"
|
||
#include "user.h"
|
||
|
||
|
||
|
||
|
||
extern USERGROUP g_group_table[GROUP_INDEX_MAX];
|
||
extern USERACCOUNT g_user_table[USER_INDEX_MAX];
|
||
|
||
|
||
int main1()
|
||
{
|
||
int a[2] = {1,2};
|
||
printf("%d", sizeof(a)/sizeof(a[0]));
|
||
|
||
return 0;
|
||
}
|
||
|
||
int usergroup_config_add_proc(int source, int config_type,
|
||
void* input, int input_len,
|
||
void* output, int *output_len)
|
||
{
|
||
int ret = 0;
|
||
unsigned short result;
|
||
cJSON *root, *data, *name, *description, *res;
|
||
char *des = NULL;
|
||
char *ret_char = NULL;
|
||
|
||
root = cJSON_Parse(input);
|
||
data = cJSON_GetObjectItem(root, "data");
|
||
if(!data)
|
||
{
|
||
ret = -1;
|
||
//ASSERT_RET(ret);
|
||
cJSON_Delete(root);
|
||
return ret;
|
||
}
|
||
|
||
name = cJSON_GetObjectItem(data, "gname");
|
||
if(!name)
|
||
{
|
||
ret = -1;
|
||
//ASSERT_RET(ret);
|
||
cJSON_Delete(root);
|
||
return ret;
|
||
}
|
||
|
||
description = cJSON_GetObjectItem(data, "gdescription");
|
||
if(description)
|
||
{
|
||
des = description->valuestring;
|
||
}
|
||
|
||
result = add_group(name->valuestring, des); //增加用户组
|
||
cJSON_Delete(root);
|
||
|
||
res = cJSON_CreateObject();
|
||
if(!res)
|
||
{
|
||
ret = -1;
|
||
//ASSERT_RET(ret);
|
||
return ret;
|
||
}
|
||
|
||
cJSON_AddNumberToObject(res, "result", result);
|
||
ret_char = cJSON_PrintUnformatted(res);
|
||
memcpy(output, ret_char, strlen(ret_char)+1);
|
||
cJSON_Delete(res);
|
||
|
||
return ret;
|
||
}
|
||
|
||
int main(void)
|
||
{
|
||
|
||
printf("初始化用户组:%d\n", init_group());
|
||
|
||
printf("增加一个用户组:%d\n", add_group("", ""));
|
||
printf("增加一个用户组:%d\n", add_group("aaa01", "描述02"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa03", "描述03"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa,", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa04", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa07", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa08", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa09", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa10", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa11", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa12", "描述04"));
|
||
|
||
char *out_put;
|
||
out_put = malloc(sizeof(char) * 200);
|
||
if (NULL == out_put)
|
||
{
|
||
printf("*****\n");
|
||
}
|
||
char* input = "{\"type\": 0,\"data\": {\"gname\": \"xxx\",\"gdescription\": \"xxx\"}}";
|
||
|
||
printf("ttttt增加一个用户组:%d\n", usergroup_config_add_proc(1, 1, input, 100, out_put, 200));
|
||
printf("result: %s", out_put);
|
||
|
||
//USERGROUP U[22] = { 0 };
|
||
int gsize = get_group_count();
|
||
|
||
USERGROUP* U;
|
||
U = (USERGROUP*)malloc(sizeof(USERGROUP) * gsize);
|
||
if (NULL == U)
|
||
{
|
||
printf("shibaile");
|
||
}
|
||
|
||
show_group_list(U);
|
||
for (int i = 0; i < gsize; i++)
|
||
{
|
||
printf("第 %d 用户组 ID : %d, NAME: %s, 描述:%s \n", i, U[i].ID, U[i].gname, U[i].gdescription);
|
||
}
|
||
|
||
char* name1 = { "aaa18" };
|
||
printf("删除一个组:%s, %d\n", name1, del_group_by_name(name1));
|
||
printf("删除一个组:%s, %d\n", "aaa03", del_group_by_name("aaa03"));
|
||
printf("删除一个组:%s, %d\n", "aaaa03", del_group_by_name("aaaa03"));
|
||
|
||
printf("增加一个用户组:%d\n", add_group("aaa30", "就爱看九分阿道夫就卡了阿道夫阿道夫就"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa31", "描述31"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa32", "描述31"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa13", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa14", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa15", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa16", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa17", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa18", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa18", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa21", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa22", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa23", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa20", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa24", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa25", "描述04"));
|
||
printf("增加一个用户组:%d\n", add_group("aaa26", "描述04"));
|
||
|
||
|
||
gsize = get_group_count();
|
||
|
||
USERGROUP* U1;
|
||
U1 = (USERGROUP*)malloc(sizeof(USERGROUP) * gsize);
|
||
if (NULL == U1)
|
||
{
|
||
printf("shibaile");
|
||
}
|
||
|
||
show_group_list(U1);
|
||
for (int i = 0; i < gsize; i++)
|
||
{
|
||
printf("第 %d 用户组 ID : %d, NAME: %s, 描述:%s \n", i, U1[i].ID, U1[i].gname, U1[i].gdescription);
|
||
}
|
||
|
||
|
||
|
||
|
||
char* name2 = { "aaa10" };
|
||
USERGROUP* U2;
|
||
U2 = (USERGROUP*)malloc(sizeof(USERGROUP));
|
||
if (NULL == U2)
|
||
{
|
||
printf("shibaile");
|
||
}
|
||
find_group_by_name(name2, U2);
|
||
if (NULL != U2)
|
||
{
|
||
printf("%s, %d, %s, %s \n", name2, U2->ID, U2->gname, U2->gdescription);
|
||
}
|
||
|
||
printf("*************************************\n");
|
||
|
||
|
||
printf("初始化用户:%d\n", init_user());
|
||
for (int i = 0; i < 10; i++)
|
||
{
|
||
printf("初始化后的第 %d 个用户,ID:%d, PWD:%s \n", i, g_user_table[i].ID, g_user_table[i].passwd);
|
||
}
|
||
|
||
USERADD* addUserResullt;
|
||
addUserResullt = (USERADD*)malloc(sizeof(USERADD));
|
||
if (NULL == addUserResullt)
|
||
{
|
||
printf("shibaile");
|
||
}
|
||
|
||
usermanager_add_user("用户01", "aaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
//addUserResullt = AddUser("用户02", "aaa04", NULL);
|
||
//printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user(NULL, "aaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("", "aaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户04,", "aaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户05", "aCaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户01", "aaa04", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户04", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户05", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户06", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户07", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户08", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
usermanager_add_user("用户09", "aaa07", addUserResullt);
|
||
printf("%d,%d\n", addUserResullt->result, addUserResullt->userID);
|
||
|
||
for (int i = 0; i < USER_INDEX_MAX; i++)
|
||
{
|
||
if (g_user_table[i].ID != 0)
|
||
{
|
||
printf("tianjia后的第 %d 个用户, ID:%d, GID:%d, 用户名:%s, PWD:%s \n", i, g_user_table[i].ID, g_user_table[i].GID, g_user_table[i].uname, g_user_table[i].passwd);
|
||
}
|
||
}
|
||
|
||
printf("*****************************************************\n");
|
||
|
||
USERLIST* ulist;
|
||
ulist = (USERLIST*)malloc(sizeof(USERLIST));
|
||
if (NULL == ulist)
|
||
{
|
||
printf("ulist fail");
|
||
}
|
||
|
||
unsigned short id1 = 2;
|
||
get_user_by_id(id1, ulist);
|
||
printf("查找id为:%d, 用户名:%s, 用户组ID:%d,用户组名:%s,描述:%s", id1, ulist->uname, ulist->GID, ulist->gname, ulist->udescription);
|
||
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist->multi, ulist->valid, ulist->valid_begin_time, ulist->valid_end_time);
|
||
printf("密码:%s\n", ulist->passwd);
|
||
|
||
USERLIST* ulist2;
|
||
ulist2 = (USERLIST*)malloc(sizeof(USERLIST));
|
||
if (NULL == ulist2)
|
||
{
|
||
printf("ulist fail");
|
||
}
|
||
|
||
ulist2->ID = 2;
|
||
ulist2->GID = 4;
|
||
strcpy(ulist2->udescription, "修改用");
|
||
strcpy(ulist2->passwd, "zhelishimima123");
|
||
ulist2->multi = 1;
|
||
ulist2->valid = 1;
|
||
strcpy(ulist2->valid_begin_time, "2013-07-04 15:04:23");
|
||
strcpy(ulist2->valid_end_time, "2019-07-04 15:04:23");
|
||
|
||
|
||
printf("%d\n", mod_user_web(ulist2));
|
||
|
||
USERLIST* ulist22;
|
||
ulist22 = (USERLIST*)malloc(sizeof(USERLIST));
|
||
if (NULL == ulist22)
|
||
{
|
||
printf("ulist fail");
|
||
}
|
||
get_user_by_id(id1, ulist22);
|
||
printf("查找id为:%d, 用户名:%s, 用户组ID:%d,用户组名:%s,描述:%s", id1, ulist22->uname, ulist22->GID, ulist22->gname, ulist22->udescription);
|
||
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist22->multi, ulist22->valid, ulist22->valid_begin_time, ulist22->valid_end_time);
|
||
printf("密码:%s\n", ulist22->passwd);
|
||
|
||
//printf("内存表中的时间:%lld,%lld, mul_avil:%d", g_user_table[2].valid_begin_time, g_user_table[2].valid_end_time, g_user_table[2].multi_valid);
|
||
|
||
|
||
mod_user_line("用户05", 0, "zhelishimiaoshu");
|
||
mod_user_line("用户05", 1, "aaa12");
|
||
mod_user_line("用户05", 2, "zhelishidenglumima");
|
||
//mod_user_line("用户05", 3, "1");
|
||
mod_user_line("用户05", 4, "1");
|
||
mod_user_line("用户05", 5, "2013-03-03 15:04:23");
|
||
mod_user_line("用户05", 6, "2018-03-03 15:04:23");
|
||
//mod_user_line("用户05", 7, "2020-03-03 15:04:23");
|
||
|
||
unsigned short id2 = 3;
|
||
get_user_by_id(id2, ulist22);
|
||
printf("查找id为:%d, 用户名:%s, 用户组ID:%d,用户组名:%s,描述:%s", id2, ulist22->uname, ulist22->GID, ulist22->gname, ulist22->udescription);
|
||
printf(" ,多用户登陆:%d, 永久性:%d, 开始时间:%s, 结束时间:%s", ulist22->multi, ulist22->valid, ulist22->valid_begin_time, ulist22->valid_end_time);
|
||
printf("密码:%s\n", ulist22->passwd);
|
||
|
||
printf("*********************************************************************************\n");
|
||
|
||
|
||
|
||
// USER_AUTH_RET* aret;
|
||
// aret = (USER_AUTH_RET*)malloc(sizeof(USER_AUTH_RET));
|
||
// if (NULL == aret)
|
||
// {
|
||
// printf("111111111111");
|
||
// }
|
||
// time_t t1 = time(NULL);
|
||
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
// Sleep(1000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
// Sleep(1000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n",aret->ret,aret->user_id,aret->group_id);
|
||
|
||
// Sleep(1000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
// Sleep(1000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
// Sleep(1000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
// mod_user_line("用户05", 6, "2020-03-03 15:04:23");
|
||
// Sleep(4000);
|
||
// t1 = time(NULL);
|
||
// aret = user_auth("用户05", "zhelishidenglumima", t1, aret);
|
||
// printf("%d,%d,%d\n", aret->ret, aret->user_id, aret->group_id);
|
||
|
||
|
||
///extern USER_AUTH_LIST g_user_auth_ret_table[USER_INDEX_MAX];
|
||
|
||
//printf("%lld,%lld,%lld",g_user_auth_ret_table[3].fail_time[0], g_user_auth_ret_table[3].fail_time[1], g_user_auth_ret_table[3].fail_time[2]);
|
||
|
||
|
||
|
||
return 0;
|
||
}
|
||
|