URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6897
[ Назад ]

Исходное сообщение
"проверка авторизации на OWA (2007)"

Отправлено peacemaker_it , 30-Июн-10 14:03 
Доброго времени суток!

Я в php - не жужу, не пинайте ))

Есть owa на exchange2007. Есть nagios монитор (FAN). Надо проверять авторизацию через https.
Нарыл скрипт check_owa:

<?php
$username = "юзверь";
$password = "пасс_для_юзверя";
$mailboxURL = "https://exchange.домен.ру/owa";
$authURL = "https://exchange.домен.ру/owa";
$pg = curl_init();
curl_setopt( $pg, CURLOPT_URL, $mailboxURL );
curl_setopt( $pg, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)" );
curl_setopt( $pg, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $pg, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $pg, CURLOPT_COOKIEFILE, "cookie.txt" );
curl_setopt( $pg, CURLOPT_HEADER, false );
curl_setopt( $pg, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $pg, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $pg, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $pg, CURLOPT_VERBOSE, false );
$response = curl_exec( $pg );
$info = curl_getinfo( $pg );
$postData = array();
$postData["url"] = $mailboxURL;
$postData["reason"] = "0";
$postData["destination"] = $mailboxURL;
$postData["flags"] = "0";
$postData["username"] = $username;
$postData["password"] = $password;
$postData["SubmitCreds"] = "Log On";
$postText = "";
foreach( $postData as $key => $value ) {
$postText .= $key . "=" . $value . "&";
}
curl_setopt( $pg, CURLOPT_REFERER, $info["url"] );
curl_setopt( $pg, CURLOPT_URL, $authURL );
curl_setopt( $pg, CURLOPT_POST, true );
curl_setopt( $pg, CURLOPT_POSTFIELDS, $postText );
$response = curl_exec( $pg );
$info = curl_getinfo( $pg );
$needle = "Connected to Microsoft Exchange";
if ( strpos( $response, $needle ) )
printf( "OK - Logon to OWA successful.\n" );
else
printf( "Critical - Logon to OWA failed.\n" );
?>

Вкручиваю в nagios. приходит ответ (Null).

Был опыт реализации подобного, подскажите, что не правильно делаю?


Может дело в cookies? Не вижу их ((


Содержание

Сообщения в этом обсуждении
"проверка авторизации на OWA (2007)"
Отправлено Golub Mikhail , 30-Июн-10 14:35 
>[оверквотинг удален]
>else
>printf( "Critical - Logon to OWA failed.\n" );
>?>
>
>Вкручиваю в nagios. приходит ответ (Null).
>
>Был опыт реализации подобного, подскажите, что не правильно делаю?
>
>
>Может дело в cookies? Не вижу их ((

Без Nagios работает?
У себя проверил - работает.


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 30-Июн-10 14:42 
>[оверквотинг удален]
>>
>>Вкручиваю в nagios. приходит ответ (Null).
>>
>>Был опыт реализации подобного, подскажите, что не правильно делаю?
>>
>>
>>Может дело в cookies? Не вижу их ((
>
>Без Nagios работает?
>У себя проверил - работает.

'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed". Так проверять?


"проверка авторизации на OWA (2007)"
Отправлено Golub Mikhail , 30-Июн-10 15:49 
>[оверквотинг удален]
>>>Был опыт реализации подобного, подскажите, что не правильно делаю?
>>>
>>>
>>>Может дело в cookies? Не вижу их ((
>>
>>Без Nagios работает?
>>У себя проверил - работает.
>
>'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed".
>Так проверять?

Так.
Можно просто "php file.php".

Догадываюсь, что логин вы указали без домена.
Укажите логин в виде "домен\пользователь".


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 30-Июн-10 16:07 
>[оверквотинг удален]
>>>У себя проверил - работает.
>>
>>'php -F check_owa' - даёт сообщение "Critical - Logon to OWA failed".
>>Так проверять?
>
>Так.
>Можно просто "php file.php".
>
>Догадываюсь, что логин вы указали без домена.
>Укажите логин в виде "домен\пользователь".

Указывал "домен\пользователь", "пользователь".. это не помогает. По скрипту выдает Critical - Logon to OWA failed.
Логин/пароль верны, через https захожу.

В чем может быть дело ещё? :(


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 30-Июн-10 16:54 
Меняю под себя строчки ниже:

$username = "юзверь"; ТУТ
$password = "пасс_для_юзверь"; ТУТ
$mailboxURL = "https://ex.домен.ру/owa"; ТУТ
$authURL = "https://ex.домен.ру/owa"; ТУТ

Больше ведь и нечего менять то ...

Подскажите как починить? :) Кто-нибудь сталкивался?


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 01-Июл-10 11:01 
Приветствую!!

Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает и при тесте выдает "OK - Logon to OWA successful.".

Подскажите, почему он выдает "OK - Logon to OWA successful." даже если я указываю заведомо ложный логин/пароль?


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 03-Авг-10 13:39 
>Приветствую!!
>
>Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает
>и при тесте выдает "OK - Logon to OWA successful.".
>
>Подскажите, почему он выдает "OK - Logon to OWA successful." даже если
>я указываю заведомо ложный логин/пароль?

Никто такое не реализовывал? :) Поделитесь ))


"проверка авторизации на OWA (2007)"
Отправлено peacemaker_it , 01-Сен-10 11:28 
>>Приветствую!!
>>
>>Спасибо, вчера вечером выяснил, что проблема была в адресе пути. Скрипт работает
>>и при тесте выдает "OK - Logon to OWA successful.".
>>
>>Подскажите, почему он выдает "OK - Logon to OWA successful." даже если
>>я указываю заведомо ложный логин/пароль?
>
>Никто такое не реализовывал? :) Поделитесь ))

Вопрос ещё актуальный :) Помогите разобраться с этим скриптом...


"проверка авторизации на OWA (2007)"
Отправлено Grumdream , 08-Дек-10 18:58 
> Вопрос ещё актуальный :) Помогите разобраться с этим скриптом...

решил проблему?