我当前创建了一个控制台应用程序,它有一个Http处理程序,供机器人发布有关其位置的信息。 我想知道如何在DART中强制执行基于IP的身份验证,以便只有具有特定IP地址的机器人才能访问处理程序,而其他机器人在访问时会出现404错误。
//The handler is registered as acceptInput
server.addRequestHandler((req) => req.path =='/acceptInput',acceptInput);
//Below is the code of the function
void acceptInput(HttpRequest request,HttpResponse response){
//Some logic
}
我需要添加身份验证机制,以确保只有特定的ips才能访问此处理程序。
我找不到任何特定于此问题的有用资源。
感谢任何帮助。
答案 0 :(得分:3)
不一定是身份验证,但您是否尝试过查看HttpRequest
's connectionInfo.remoteHost
?
例如:
server.addRequestHandler(validate,acceptInput);
bool validate(req) {
// only return true if the path + ip match
return req.path =='/acceptInput' && req.connectionInfo.remoteHost = '1.2.3.4';
}
void acceptInput(HttpRequest request,HttpResponse response){
//Some logic
}