【0182】PG内核客户端认证之将读取的token创建HbaToken
/*
* 函数:将读取的token创建为HbaToken类型的对象
* 参数:
* token_type - 指向token类型名称的指针
* token_data - 指向token数据的指针
* 返回值:
* 成功时返回HbaToken对象,失败时返回NULL
*/
HbaToken *
hba_create_token_from_file(char *token_type, char *token_data)
{
HbaToken *new_token = NULL;
if (strcmp(token_type, "ip") == 0)
{
new_token = hba_create_ip_token(token_data);
}
else if (strcmp(token_type, "net") == 0)
{
new_token = hba_create_net_token(token_data);
}
else if (strcmp(token_type, "hostname") == 0)
{
new_token = hba_create_hostname_token(token_data);
}
else if (strcmp(token_type, "ipmask") == 0)
{
new_token = hba_create_ip_mask_token(token_data);
}
else if (strcmp(token_type, "regex") == 0)
{
new_token = hba_create_regex_token(token_data);
}
return new_token;
}
这个代码实例展示了如何根据读取的token类型,将token数据转换为对应的HbaToken对象。它使用了一系列的strcmp
调用来确定应该创建哪种类型的token,并且调用了对应的创建函数。这个例子遵循了一个简单的模式,通过将创建逻辑与token类型的名称耦合在一起,使得代码易于扩展和维护。
评论已关闭