Ldap 1с записать фамилию и имя

Обновлено: 07.07.2024

У многих, кто управляет прокси-сервером Squid на предприятии, есть потребность периодически демонстрировать статистику пользования интернетом сотрудниками руководству. Для представления статистики дополнительно к Squid устанавливается анализатор журналов типа SARG, Lightsquid и т.д. При этом зачастую в организации развёрнута служба каталогов (предполагается, это Active Directory), в которой у всех сотрудников есть учётные записи и авторизация в прокси-сервере идёт на основе учётных записей. Естественно, для руководства, когда оно смотрит отчёт, удобней идентифицировать сотрудника по имени и фамилии. На удивление, во многих форумах и IT-порталах эту задачу предлагают решать вручную, забивая имена и фамилии в конфигурационные файлы анализатора журналов. У этого решения есть недостаток — при зачислении/увольнении какого либо сотрудника конфиги придётся редактировать.
Эта статья описывает метод автоматического извлечения данных о фамилии и имени сотрудников из ActiveDirectory и их вставку в отчёты Lightsquid.

Задача: обеспечить вывод отчётов через Lightsquid по каждому пользователю Active Directory, заходившего в интернет, с указанием его имени и фамилии (забегая вперёд, скажу, что в AD этой информации соответствует поле «выводимое имя», в LDAP-запросах на него ссылается переменная displayName)
Исходные данные:

  • -Настроенный и корректно работающий Squid 3.3.8 с авторизацией ntlm
  • -в конфиге Squid присутствуют следующие строки:

Решение:

Сначала я опишу механизм передачи данных о ФИО в Lightsquid из ActiveDirectory, затем приведу его реализацию.

Сведения о ФИО представлены в AD в свойствах доменного пользователя, в поле «Выводимое имя». Для получения сведений от AD необходимо взаимодействовать с ним через LDAP-запросы. При этом взаимодействовать можно только от имени авторизованного пользователя домена. Поскольку Lightsquid написан на Perl, для выполнения этих запросов потребуется модуль Net::LDAP. А для автоматического вывода в отчёте сведений из AD необходимо заменить простое получение логина от squid на выполнение LDAP-запроса.

Вначале необходимо создать в AD учётку с максимально ограниченными правами, которая будет использоваться для выполнения LDAP-запросов. Для этого запустите оснастку «Active Directory- пользователи и компьютеры» и создайте нового пользователя. Дайте ему название, выражающее его предназначение. Например, LightSquidAgent. Затем создайте новый объект групповой политики и войдите в его свойства (или в свойства существующего объекта). Далее Конфигурация компьютера->Конфигурация Windows->Параметры безопасности->Локальные политики->Назначение прав пользователя. В параметре «Отказ в доступе к компьютеру из сети» введите LightSquidAgent. В параметре «Отклонить локальный вход» тоже введите LightSquidAgent.

Теперь установим в Perl модуль Net::LDAP. Запускаем bash или аналогичную командную оболочку и выполняем . После входа в интерпретатор cpan выполняем . Далее программа установки выведет вопрос, хотим ли мы позволить ей выполнить авто-конфигурирование. Просто жмём Enter. В конце вы должны увидеть .

UPD: Учтены рекомендации автора Lightsquid насчёт кэширования имён пользователей.
UPD2: Исправлена ошибка с зависанием скрипта при распознавании неавторизованных пользователей
UPD3: Исправлена ошибка с зависанием скрипта при недоступности контроллёра домена и при невозможности выполнить вход под учётной записью LightSquidAgent

В шапке файла нужно прописать пространства имён, в которых лежат нужные нам функции и объявить 3 новые переменные:

Electronic Software Distribution

(9)
: Ошибка при вызове метода контекста (Open)
rs.Open("<" + СокрЛП(LDAPText) + ">;(&(objectCategory=person)(objectClass=user));ADsPath, Name, DisplayName, mail, sAMAccountName, mailNickname;" + ?(Рекурсивно, "subtree", "onelevel"), conn, 0, 1); //source,actconn,cursortyp,locktyp,opt
по причине:
Произошла исключительная ситуация (Provider): Неопознанная ошибка

Все это в попытке происходило, кривое программирование.
Попытка вываливала на СтатусLDAPЗапроса , дальше нигде не анализировалось значение переменной СтатусLDAPЗапроса и информативности не хватило.


//Попытка
//Исключение
// СтатусLDAPЗапроса = "Не удалось выполнить LDAP запрос!";
// Возврат;
//КонецПопытки;
СтатусLDAPЗапроса = "";

Добрый день.
А права как назначаются новым пользователям.

Просмотры 8277

Загрузки 118

Рейтинг 4

Создание 22.03.13 12:20

Обновление 22.03.13 12:20

№ Публикации 178992

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано

Основная цель курса: сформировать у слушателей практические навыки, связанные с разработкой прикладных решений для автоматизации расчета заработной платы.

См. также

Универсальный редактор данных (УРД) Промо

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021 6000 124 Adeptus 51

Доп. панель Alt+Z

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

2 стартмани

24.06.2021 8119 100 sapervodichka 57

Оптимизация размера изображений из присоединенных файлов УТ 11.4

5 стартмани

10.07.2020 8820 6 Neti 4

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019 17346 46 akpaevj 46

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018 54208 533 Eugen-S 35

Конфигурация для администраторов "Центр управления базами" для 8.3 УФ

Конфигурация предназначена для централизованного управления информационными базами предприятия. Разработана на БСП версии 2.4.4.76. В работе использует COM-соединение.

3 стартмани

09.10.2019 10779 36 WhiteOwl 17

Информация о программных лицензиях 1С (Ring GUI)

Обработка, представляющая из себя обертку функций Утилиты лицензирования 1С (ring) в понятном для обычного человека виде. По сути, это GUI утилиты RING

5 стартмани

18.09.2019 9630 34 MaxxG 6

Обновление конфигурации 1С из cf по расписанию

Часто в процессе внедрения или активной разработки конфигурации возникает необходимость ежедневного обновления конфигурации базы данных.

1 стартмани

09.09.2019 4121 1 sivin-alexey 2

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android Промо

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017 27580 12 user700211_a.straltsou 20

Кто уложил 1С, или мониторинг загрузки кластера в разрезе пользователей с помощью Grafana

Мониторингом различных параметров работы кластера 1С в zabbix сейчас уже никого не удивишь. Собственно потребление памяти, процов и места на серверах обычно настраивают первыми. Потом идет мониторинг в разрезе rphost'ов и различные метрики функционирования SQL сервера. Но вот когда уже все это есть, то временами возникает вопрос - какой же конкретно нехороший человек пытается съесть все (ну не все, но много) ресурсы сервера? Можно смотреть в консоль кластера и ловить редиску там. Можно анализировать журнал регистраций, включать технологический журнал или накапливать статистку в специализированных базах 1С. Но, "настоящим" сисадминам проще как-то с внешними скриптами, базами данных и, например, Grafana. Расскажу что у нас получилось.

Доброго времени суток. Прикрутил контакты для почты на веб-интерфейс. Но возникла небольшая проблемка - при отображении контакта он отобржается как
ИМЯ_ОТЧЕСТВО_ФАМИЛИЯ, хочется наоборот - ФАМИЛИЯ_ИМЯ_ОТЧЕСТВО,
как принято в России. Поле 'cn' (commonname) составное, и составляется по введеным значениям 'givenName' (И.О) и 'sn' (фамилия). По идее где-то в схеме надо поменять просто местами эти 2 значения, но никак не могу найти где. Начал рыть схемы ldap - но что-то в том синтаксисе сам черт ногу сломит. Вопрос: кто сталкивался, подскажите где и что поменять, чтоб получился сабж.
P.S. система debian lenny.
P.P.S. Просто вписать в значения фамилии ИО и наоборот не предлагать - эти же контакты используются в аутглюке, поэтому может нарушиться отображение полей.



очевидно же, что проблема не в схема хранения данных, а в отображении их, менять надо скрипт вэб страницы, а скорее шаблон


Не согласен. В контактной книге аутлука в графе с общими данными отображение идет аналогично - ИМЯ_ОТЧЕСТВО_ФАМИЛИЯ, значит поле 'cn' принимает общее значение где-то в схемах, и уже клиентам раздает его.


Текс, разобрался. Мож пригодится кому:
Проблема возникла при создании контактов в phpldapadmin, поэтому переименовываем существующие контакты как нам надо, а затем идем в шаблоны создания и модифицирования юзеров, у меня это /etc/phpldapadmin/templates и там правим xml файлы таким образом, чтобы при создании и модинге контактов автоматом подставлялась необходимая нам информация в нужном формате. Там, кстати, можно заодно и подрусифицировать интерфейс, чтоб создание юзеров безболезнено переложить на секретариат.

>Там, кстати, можно заодно и подрусифицировать интерфейс, чтоб создание юзеров безболезнено переложить на секретариат.

Скажите, работает ли у Вас такое:

phpldapadmin: при создании учётной записи можно выбрать шаблон, я выбираю Thunderbird, всё отлично, шаблонов в phpldapadmin можно выбрать много. Настало время подредактировать учётную запись, и тут проблема, при редактировании phpldapadmin предлагает в каком шаблоне редактировть, на выбор только два шаблона. Default и ещё какой-то. И поля которые доступны в Thunderbird шаблоне уже не доступны - в частности поле отдела, и так далее. - У Вас также? Получается если человек перевёлся из отдела в отдел придётся удалять запись полностью, и создавать новую, что не очень хорошо.

У меня аналогичная конструкция LDAP, про cn посмотрю чего у меня там. Завтра.

Версия phpldapadmin 2.0.5 кажется. В общем последняя.

Буду рад помощи!


Добрый день. К сожалению, я не работал с thunderbird шаблонами, ибо в организации все, кроме серверов, использует лицензионный оффтоп, поэтому необходимости не было. Как вариант, могу попробывать, о результатах постараюсь отписать. То что вы описали, с шаблонами простой адресной книги (inetorgperson) прекрасно работает, можно отдельно редактировать записи отделов, телефонов и прочего. И, имхо, этот же шаблон можно и использовать в громоптице.

По поводу секретарей и почтовых клиентов: мысль приходила, но реализаций не занимался, ибо времени катастрофически не хватает. Собираюсь как подниму все что задумал - подумать и об этом, поискать маны в инете, наверняка что-то есть уже. На данный момент я просто создал юзера для данной базы, который может ее редактировать, руссифицировал интерфейс, чтоб было понятно секретарским хомячкам, и отдал им на растерзание, чтоб они сами заводили пользователей. Для создания записей в оффтопе есть вроде ldap клиент какой-то, видал мельком, говорят что удобный, можно секретарей на него посадить - пусть через него вбивают.

> Для создания записей в оффтопе есть вроде ldap клиент какой-то

То что вы описали, с шаблонами простой адресной книги (inetorgperson) прекрасно работает, можно отдельно редактировать записи отделов, телефонов и прочего.

Поэтому выбираю Thunderbird.

Всё отлично работает.

ибо в организации все, кроме серверов, использует лицензионный оффтоп

А чего у Вас outlookexpress или чего? Просто Thunderbird легко позволяет фильтровать по любому полю, то есть очень удобно, можно отфильтровать по отделам, выделить всех кого надо и нажать Sent, и сразу упадёт почта на весь отдел, что радует. В Thunderbird есть и другие проблемы, о них я писал тут ранее, но ответа не получил.

В общем посмотрите, интересно довольно. Но немного надо попилить.

Ну и подскажите чего там у Вас с редактированием и созданием в phpldapadmin, просто у меня дело в том, что отделы захотят приватные адресные книги, всем ставить стандэлон клиента не очень хочется, поэтому Web более удобное решение, а ещё лучше почтовый клиент, но как я писал ранее не всё так гладко.


Ну я не особый знаток ldap, так что думаю особо вам ничем не помогу :-(

а вот так поля, доступные для редактирования и добавления записей:

Также можно, поправив шаблоны, указать какие поля сразу будут выдаваться на редактирование при создании и изменении значений, либо прям добавить недостающие поля с phpldapadmin'а.

Могу посоветовать только или поискать инфу в в сети по поводу шаблонов, либо попробывать прикрутить имеющиеся с первой версии, могу выслать их на мыло если кинете. По поводу дебага - тоже не заморачивался, т.к. юзаю для серверов стабильную ветку дебиана, там обычно уже все обласкано и обнюхано до меня.

В организации стоит офис2007 с соответсвущим аутглюком, а для рассылки по отделам прописаны форвардинги в эксиме, в планах все прикрутить конечно к лдапу, но, как уже говорил, времени вообще ни на что не хватает. Если интересует все это - пишите в почту, там поговорим;-) dgeliko мяу гмыло ком.

Надоели просить меня запостить рабочие модули работы с AD, вот запостил, в качестве бонуса убийца любого процесса в памяти любого компа.
p.s. для работы нужны определенные права.
Автор: vde69
Код 1C v 8.х

Разместил: E_Migachev  Версии: | 8.x | 8.2 УП |  Дата: 08.11.2010   Прочитано: 28164

Распечатать

Похожие FAQ

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps  20
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С Предприятие что это?  11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое COM-подключение к базе 7.7 из 8.2 1С  6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь= Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению  1
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: . по причине: Ошибка компоновки данных по причине: Ошибка получени Посмотреть все результаты поиска похожих

Читайте также: