Держись подальше от Celko !!!!
http://www.dbdebunk.com/page/page/857309.htm
Я думаю, что это делает гораздо больше смысла использовать суррогатные первичные ключи, чем «естественные» первичные ключи.
@ocdecio: Фабиан Паскаль дает (в главе 3 своей книги Практические вопросы управления базами данных , процитированные в пункте 3 на странице, на которую вы ссылаетесь) как единое целое) критериев выбора ключа стабильности (он всегда существует и не меняется). Если естественный ключ не обладает таким свойством, то следует использовать суррогатный ключ по очевидным причинам, на которые вы намекаете в комментариях.
Вы не знаете, что он написал, и вы не удосужились проверить, иначе вы могли бы обнаружить, что вы действительно согласны с ним. Ничего противоречивым там: он говорил «нет, не догматическое, адаптировать общие принципы к обстоятельствам, и, прежде всего, думать, использовать свой мозг вместо догматической / поваренной книги / слова-о-гуру подхода»
.
Ваш вопрос нуждается в большом объяснении, поэтому я кратко изложу свой ответ:
Сначала вы должны использовать Inspircd v2.0.15, потому что он стабильный, высокопроизводительный и наиболее важный для вашего использования, помеченный как . ] Поддержка ldap Ссылка .
Первый:
Вы должны отредактировать файл / etc / hosts:
YouserverIp hostname.example.com hostname
Второй:
Установите OpenLdap:
sudo apt-get install slapd ldap-utils
во время установки, просто введите свой пароль администратора ldap.
Третье:
Установите apache2: apt-get install apache2
Четвертый:
Установите phpldapAdmin: phpLDAPadmin (также известный как PLA) - это LDAP-клиент на основе сети. Он обеспечивает простое и доступное многоязычное администрирование для вашего сервера LDAP.
sudo apt-get install phpldapadmin
(поэтому я установил apache2, его веб-инструмент)
Теперь у вас есть два шага:
редактировать
/etc/ldap/ldap.conf
добавить: редактировать
BASE dc=yourdomain,dc=com
URI ldap://Your Ip Address
затем: отредактируйте /etc/phpldapadmin/config.php
Просто отредактируйте ваш IP и имя домена.
Откройте ваш браузер:
yourIp / phpldapadmin
Введите пароль администратора, который вы вводите при установке sldap.
Теперь вы подключаетесь к базе данных ldap. выберите домен ----> справа добавьте Generic Posix Group ----> затем выберите группу и создайте дочернюю запись для добавления общих учетных записей пользователей для тестирования.
Дополнительная помощь по использованию phpldapadmin Здесь
Пятый:
Теперь пришло время настроить inspircd:
edit: /etc/inspircd/inspircd.conf
вам нужно загрузить модуль ldapauth и указать на ваш сервер ldap,
<module name="m_ldapauth.so">
<ldapauth baserdn="cn=test,dc=domain,dc=com"
attribute="uid"
server="ldap://yourIp or domainname"
allowpattern="Guest*"
killreason="Access denied"
searchscope="subtree"
binddn=""
bindauth=""
verbose="yes"
userfield="yes" >
Вы также должны добавить ваше имя сервера irc и имя администратора и другую опцию в
/etc/inspircd/inspircd.conf
Это руководство вам помогут: Учебное пособие
Последнее:
Перезапустите slapd, inspircd и попытайтесь подключиться к тем пользователям, которых вы создали.
Заметьте, что меняется, так как это соответствует вашим потребностям, и эта конфигурация, и irc, и ldap - это одни и те же серверы.
Надеюсь, это поможет вам, потому что я не думаю, что официальная документация может быть простой, как мой.
Вы не указали, какой IRCd использовать, и фактически запросили его.
Таким образом; Вот пример конфигурации LDAP для InspIRCd .
Для полного списка IRCds; Вы можете взглянуть на это Сравнение демонов Internet Relay Chat , в котором все, кроме двух, поддерживают Linux.
и, наконец, в этой таблице ; вы можете найти, который на самом деле поддерживает аутентификацию LDAP.
Желаю, чтобы это помогло вам в вашем решении.
Вы не указали, какой IRCd использовать, и фактически запросили его.
Таким образом; Вот пример конфигурации LDAP для InspIRCd .
Для полного списка IRCds; Вы можете взглянуть на это Сравнение демонов Internet Relay Chat , в котором все, кроме двух, поддерживают Linux.
и, наконец, в этой таблице ; вы можете найти, который на самом деле поддерживает аутентификацию LDAP.
Желаю, чтобы это помогло вам в вашем решении.
Если вы действительно хотите, чтобы IRCd выполнял аутентификацию, я бы предложил InspIRCd .
Он имеет модуль ldapauth, но вам нужно скомпилировать его самостоятельно с помощью
./configure --enable-extras=m_ldap.cpp
make
make install
Пример конфигурации, как используется LDAP, находится в файле конфигурации примера .
Обратите внимание, что этот модуль является экспериментальным. И файл конфигурации (и исходный код) - это вся документация, которую вы получаете для этого модуля.
Редактировать: Прочитав немного кода, я попытаюсь объяснить, как это работает:
Если какой-либо шаг завершается неудачно, пользователь отключается от сети / сервера. Я надеюсь, что это то, что вам нужно (не прошедшие проверку пользователи не могут подключиться).
Для конфигурации существует концепция баз данных. LDAP используется здесь как база данных. Сначала вы определяете базу данных (сервер LDAP, учетные данные для сервера LDAP ...), а затем используете ее для одной или нескольких целей, например, аутентификация пользователя, оперная аутентификация ...
Или, проще говоря: значения по умолчанию либо явно неправильные, либо хорошие значения по умолчанию.
Редактировать : То, что вы хотите, попадает в область услуг IRC. Хотя InspIRCd может предоставлять базовые сервисы, вам нужно написать собственный код, чтобы он работал так, как вы хотите.