Регистр логинов

Обсуждение программы редиректора
Ответить
dm
Сообщения: 3
Зарегистрирован: Ср апр 12, 2006 14:57

Регистр логинов

Сообщение dm »

Здравствуйте! У меня пользователи авторизуются в АД, списки пользователей соотв домееных групп забираются из AD скриптом и хранятся в текстовых файлах, по которым и идёт разделение доступа по allow_id. В этих файлах логины в виде DOMAIN+user. Проблема в том, что разные браузеры передают связку домен+логин по-разному, пример - IE домен в верхнем, а логин в нижнем регистрах, а Opera всё в нижнем регистре. Для сквида без проблем, тк у него в acl можно указать ключ -i, то есть игнорировать регистр. А для режика приходится дублировать логин 2 раза с доменом в верхнем и нижнем регистрах. Нельзя как-то включить регистронезависимость?
#define CASE_INDEPENDENT
в vars.h
ничего не меняет

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Проблема ясна, для её решения, хорошо бы от Вас получить дополнительный материал.

1. Скачайте и откомпилите http://www.rejik.ru/download/logger.c
2. Подключите его до режика:
a. Сделайте файлик r.sh следующего содержания:
/usr/local/rejik3/logger | /usr/local/rejik3/redirector
b. Пропишите r.sh в качестве редиректора в сквиде.

После этого, в /usr/local/rejik3/elog будет сыпаться все то, что получает режик от сквида.

Используйте различные браузеры, что бы все варианты отразились в elog.
Если возможно, то с разных ip или логинов.
Либо разграничьте по времени, и распишите, что тогда-то ходили одним браузером, а после другим. Это мне нужно, что бы отследить все возможные варианты, не перебирая каждую строку вручную.

Получившийся elog пришлите мне по почте.
Последний раз редактировалось Slava Ср апр 12, 2006 15:24, всего редактировалось 2 раза.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

И еще желательно конфиг режика, где видно, как вы прописывали логины, если они в дополнительном файле, то этот файл

dm
Сообщения: 3
Зарегистрирован: Ср апр 12, 2006 14:57

Сообщение dm »

Хорошо. Сделал редиректор через /usr/local/rejik3/logger | /usr/local/rejik3/redirector. Также в домене SWITCH был заведен пользователь TestUSER(специально с разным регистром). Для тестирования использовалось: Windows - IE6, Opera 8, Firefox 1.5, FlashGet; Linux: Konqueror 3.5.1, Firefox 1.5, Opera 8. Авторизация пользователя в этих программах в разных регистрах привела следующим результатам: IE, Firefox(в обеих ОС) всегда приводят результат к виду SWITCH+testuser(в не зависимости от того, в каком регистре вводить авторизационную информацию: switch+TESTUSER, SWITCH+TestUSER и тп), а Konqueror, Opera(в обеих ОС) и FlashGet всегда передают switch+testuser(также в не зависимости от регистра ввода). Вот примеры из логов:
Opera:
http://xml.opera.com/update/ 10.37.12.222/- switch+testuser GET
IE:
http://stb.msn.com/i/89/8561D4DA8734DA1 ... EEFFC5.jpg 10.37.12.222/- SWITCH+testuser GET
FlashGet:
http://download.microsoft.com/download/ ... _adsr2.iso 10.37.12.222/- switch+testuser GET
Для других браузеров аналогично.
То есть варианта передачи связки логин\пароль в зависимости от браузера всего 2: DOMAIN+login и domain+user
Пользователи у меня в файлах, формат:
SWITCH+an
SWITCH+dm
...............
Сейчас приходится их дублировать, добавляя:
switch+an
switch+dm
................
Да, и если логин в смешанном регистре, то надо приводить его к нижнему(например, для TestUSER надо делать записи SWITCH+testuser и switch+testuser), только тогда rejik правильно их отрабатывает.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Ясно что делать, правда немного странно видеть "+" между доменом и логином.
в elog именно "+"?, а не "/" и не юникоде символ?
Да, нужна в принципе информация о домене или только логин, что бы понять, пускать или нет? (данная информация нужна мне для 4-го режика).

В вариантах DOMAIN+login и domain+user:login и user одно и тоже или разное?

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Хорошо бы получить от Вас файлик elog, что бы я смог потестировать на нем изменения.
Пока же могу предложить отредактировать redirector.c
/***********************
****** Work cycle *****/
// Get input string
while (fgets(str,ML_URL,stdin)!=NULL)
{
// convert input string to input structure->(url,who,ident,method)
if(parse_input(str))
{

// If error in convert
printf ("%s",str);
fflush(stdout);
sprintf(etmp,"Error convert input string to input structure str=%s",str);
err_mes(etmp);
continue;
};
// Это то, что надо добавить
#ifdef CASE_INDEPENDENT
for (z=0;z<strlen(input_ident);z++)
input_ident[z]=tolower(input_ident[z]);
#endif

dm
Сообщения: 3
Зарегистрирован: Ср апр 12, 2006 14:57

Сообщение dm »

Slava писал(а):Ясно что делать, правда немного странно видеть "+" между доменом и логином.
в elog именно "+"?, а не "/" и не юникоде символ?
Именно "+" - это такой разделитель у меня(настраивается в sambe)
Slava писал(а): Да, нужна в принципе информация о домене или только логин, что бы понять, пускать или нет? (данная информация нужна мне для 4-го режика).
В принципе надо и домен учитывать и логин. В сложной сети на одном прокси могут авторизовываться пользователи из разных доменов, между которыми настроены доверительные отношения. То есть могут авторизовываться два польователя: DOMAIN1+vasya и DOMAIN2+vasya, без учёта домена это один человек, а на деле совершенно разные логины
Slava писал(а): В вариантах DOMAIN+login и domain+user:login и user одно и тоже или разное?
Да, это одно и тоже. Я приводил пример: пользователь в домене TestUSER, для него будет передаваться пара либо SWITCH+testuser, либо switch+testuser.

mrOleg
Сообщения: 1
Зарегистрирован: Пн ноя 12, 2007 15:48

Сообщение mrOleg »

Вопрос с логинами решен таки ?
А то у мну проблама с регистром пользователей

Ответить