Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Маска IP адреса и уровень доступа.


Автор: Fameing 26.4.2006, 14:58
Есть 3 стрингових массива 

String[] user = {"192.*.*.*","165.12.1.3"}
String[] admin = {''10.10.10.1",'10.*.10.*"}
String[] tehc = {"10.4.1.1"}

и ip который я получаю

Как можно определить по IP какой уровень доступа давай пользователю? Что-то я немогу в ехать в такую тему ! smile  smile   

Автор: Tony 26.4.2006, 17:31
Posmotri сервер.хмл (Томкат) там мозно прописать доступ по маске,ip t.d 

Автор: Fameing 27.4.2006, 12:49
Втом то и дело что я немогу получить доступ к server.xml! Нужно это делать на стороне данного Application 

Автор: Ivan Kolesnikov 27.4.2006, 13:29
Привет! А что конкретно не можешь понять?
Сравнить подходит ли данный IP конкретной маски можно например такой функцией:
Код

private static boolean ipEquals(String ip, String mask) {
  String[] ips = ip.split("\\.");
  String[] masks = mask.split("\\.");
  if (ips.length != 4 || masks.length != 4)
    return false;
  for (int i = 0; i<4; i++) {
    if (!masks[i].equals("*") && Integer.parseInt(ips[i])!=Integer.parseInt(masks[i]))
      return false;
  };
  return true;
};

Осталось только определиться в какой последовательности проверять эти массивы, скорее всего сначала tehc, затем admin и уж после user. Просто проходишь циколом по массиву и проверяешь на соответствие IP данной маски. 

Автор: Fameing 27.4.2006, 14:27
Большое спасибо Ivan Kolesnikov. То что и надо было мне. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)