0.00
Рейтинг
0.05
Сила
  • avatar joinc
  • 0
Поставил, проверил.
Если убрать из конфига строки
$config['profile']['userfield'] = array(
    'phone'=> 'mobile',
    'skype' => 'telephoneNumber',
);

то опять не заходит пользователем AD без перезагрузки страницы. С этими строками все ок.
И напоминаю про пол пользователей.
  • avatar joinc
  • 0
Переустановил модуль.
Теперь пользователи нормально входят и админом входить можно.
1. Нужно пофиксить пол пользователя, а то все женского пола стали.
2. При ручной синхронизации не отображает что прошла синхронизация. Firebug дает ошибку:
POST http://10.20.0.5/admin/ajaxldapimport/  200 OK  109ms	
8814d8...5e59.js (строка 2)

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/var/www/plugins/ldap/classes/modules/ldap/Ldap.class.php</b> on line <b>211</b><br />
{"bState":true,"sMsgTitle":"\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435","sMsg":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d","bStateError":false}
  • avatar joinc
  • 0
От обычного пользователя:
<br />
<b>Notice</b>:  Undefined index: code in <b>/var/www/plugins/ldap/classes/actions/ActionLogin.class.php</b> on line <b>44</b><br />
{"sUrlRedirect":"http:\/\/10.20.0.5\/","sMsgTitle":"","sMsg":"","bStateError":false}

При попытки зайти админом:
{"sMsgTitle":null,"sMsg":"\u0427\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a! \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d \u043b\u043e\u0433\u0438\u043d (e-mail) \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c.","bStateError":true}
  • avatar joinc
  • 0
Ничего не изменилось. Пользователи AD входят после перезагрузки страницы логина, автоматом не редиректится.
Плюс — если выйти администратором сайта, то потом невозможно войти (используя логин или эл.почту).
  • avatar joinc
  • 0
<?php

/*
 *  Настройки подключения к Active Directory
 */

Config::Set('db.table.user_ad', '___db.table.prefix___user_ad');
Config::Set('db.table.ad_cron', '___db.table.prefix___ad_cron');

//список доменных контроллеров
$config['ad']['domain_controllers'] = array("dc.gszn.local"); //array("dc1.example.com","dc2.example.com")

// DN для поиска
$config['ad']['base_dn'] = "OU=GU,DC=dc,DC=gszn,DC=local"; //OU=Users,DC=example,DC=com

// суффикс подключения
$config['ad']['account_suffix'] = "@dc.gszn.local"; //@example.com

//Учетные данные для подключения
$config['ad']['admin_username'] = "yubelyakov"; //admin
$config['ad']['admin_password'] = "Gfhjkm"; //password

// Используемая аутентификация. ssl и tls вместе не работают!
$config['ad']['use_ssl'] = false;
$config['ad']['use_tls'] = false;


//порт для соединения
$config['ad']['ad_port'] = "";

// Группы для администраторов
$config['security']['admin_groups'] = array("Администраторы домена");

/*
 * Настройки для профиля (пользовательские поля)
 * На текущий момент вместо имен используются id полей
 */

$config['profile']['basic'] = array(
    'setLogin' => 'samaccountname',
    'setMail' => 'mail',
    'setProfileName' => 'displayname',
//    'setProfileSex' => 'other',
);

return $config;

?>

Вот конфиг.
  • avatar joinc
  • 0
И действительно нет этих строк в config.php Прописал, деактивировал-активировал модуль. Попробовал зайти не синхронизированным пользователем — анимированый индикатор входа бегает, но при перезагрузки страницы пользователь оказался! авторизован!
Firebug выдал такую ошибку:
POST http://10.20.0.5/login/ajax-login/
	
200 OK
		109ms	
8814d8...5e59.js (строка 2)
ЗаголовкиPostОтветCookies

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/var/www/plugins/ldap/classes/modules/ldap/Ldap.class.php</b> on line <b>211</b><br />
<br />
<b>Notice</b>:  Undefined index: code in <b>/var/www/plugins/ldap/classes/actions/ActionLogin.class.php</b> on line <b>44</b><br />
{"sUrlRedirect":"http:\/\/10.20.0.5\/","sMsgTitle":"","sMsg":"","bStateError":false}
  • avatar joinc
  • 0
Как видно из ошибки
[query] => 
			SELECT user_id
			FROM 
			WHERE user_id='3'

возникает вопрос — а из какой таблицы он будет делать выборку?
В 87 строке /ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php указано: FROM ".Config::Get('db.table.user_ad'."

И еще одно — все пользователи из AD становятся женского пола — нужно куда-то добавить строку: 'setProfileSex' => 'other'
  • avatar joinc
  • 0
Есть таблицы site_user_ad, site_ad_cron и site_ad_log со структурой описанной в db.sql — только они не содержат записи и их я создавал самостоятельно запросом в MySQL'е.
Удалил эти три таблицы — при активации плагина таблицы не создаются (из-за закомментированной строки в PluginLdap.class.php). Попробовал раскомментировать эту строку и активировать плагин — вывалилась ошибка:
SQL Error: Can't DROP 'user_mail'; check that column/key exists at /var/www/engine/modules/database/Database.class.php line 160
Array ( [code] => 1091 [message] => Can't DROP 'user_mail'; check that column/key exists [query] => ALTER TABLE gszn_user DROP INDEX user_mail [context] => /var/www/engine/modules/database/Database.class.php line 160 )

Конфиг думаю верен — так как список пользователей получает и при синхронизации создает пользователя в базе LiveStreet и заполняет поля: логин, майл и имя.
  • avatar joinc
  • 0
Ошибка в консоли firebug'а:
SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id='3'' at line 3 at /var/www/plugins/ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php line 91
Array
(
    [code] => 1064
    [message] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id='3'' at line 3
    [query] => 
			SELECT user_id
			FROM 
			WHERE user_id='3'
		
    [context] => /var/www/plugins/ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php line 91
)

Сервер — Ubuntu Server 13.04
MySQL — 5.5.31-0ubuntu0.13.04.1
Кодировка сервера: UTF-8 Unicode (utf8)
PHP 5.4.9-4ubuntu2
Apache/2.2.22
  • avatar joinc
  • 0
Только что поставил на отдельный сервер чистый LiveStreet, установив туда только модуль ldap. Настроил, провел с несколькими пользователями из AD синхронизацию. Они в списке пользователей LiveStreet появились и наследовали поля. Попытка зайти под этими пользователями не привела к успеху — при вводе логина/пароля анимированый индикатор входа бегает, но дальше дело не идет. И выйдя admin'ом — назад зайти не дает ошибка — «Что-то не так! Вероятно, неправильно указан логин (e-mail) или пароль.»
В какую сторону смотреть? И используется в модуле префикс кеширования, отличный от дефолтного?
  • avatar joinc
  • 0
Если есть кнопка — ее обязательно нажмут.
В Черновики можно попасть только через Создать — это уже вопрос.
В девелоперской теме если в Черновиках нажать на «Создать топик», то перейдешь в создание топика, здесь не переходит.
  • avatar joinc
  • 0
И еще, перейдя в «Создать» «Черновик», выбор стоит на «Создать топик» при попытке перейти на создание топика, ни чего не происходит.
  • avatar joinc
  • 0
По кнопке «Создать» мы можем выбрать «Топик Блог Сообщение Черновик».
«Черновик» — нет возможности создать черновик.
«Топик» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика уже нет)
«Блог» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика опять же нет)
«Сообщение» — нет возможности поменять выбор создания.
  • avatar joinc
  • 1
При переходе в профиль, сверху висит навигация «Все Онлайн Новые», без белого треугольника под «Люди». Можно наверное совсем убрать, так как в «Сообщения» и «Настройки» этого меню нет.
  • avatar joinc
  • 0
Забыл про вставку кода :(
<img alt="" src="{cfg name='path.static.skin'}/images/Airbus.jpg">
  • avatar joinc
  • 0
Попробуйте так —
  • avatar joinc
  • 0
А какой код вставляешь? Скорее всего там ошибка.
  • avatar joinc
  • 1
Проще некуда. Редактируй header_top.tpl в каталоге /templates/skin/street-spirit/…
  • avatar joinc
  • 0
Сам себе отвечу (нашел таки время, хотя решение нашел почти сразу):
{if $oUserProfile->getProfileClosed() == 'friend' and $aFriendProfile == 0 and (!$oUserCurrent || (!$oUserCurrent->isAdministrator() && $oUserCurrent->getId() != $oUserProfile->getId()))}
<div class="profile-user"><p class="nickname">Пользователь {$oUserProfile->getLogin()} показывает свои персональные данные только друзьям!</div>
{else}

Этот код вставляется в templates/skin/.../actions/ActionProfile/whois.tpl — разрешается просмотр профиля только для друзей, себя и администраторов или всем.
Просто смысла прятать профиль и от друзей не вижу.
  • avatar joinc
  • 0
Спасибо.
Но при установки в none, гости всё равно видят профиль, только friend скрывает.
Что нужно подправить в 7 шаге?