基于IP访问Httphandlers

时间:2013-01-24 16:10:46

标签: dart

我当前创建了一个控制台应用程序,它有一个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才能访问此处理程序。

我找不到任何特定于此问题的有用资源。

感谢任何帮助。

1 个答案:

答案 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
}