используя учетные данные ldap и поиск в таблицах postgresql - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок с LDAP , и я хочу использовать его в будущем проекте с База данных PostgreSQL .

Предположим, я сделаюаутентификация с сервером LDAP, поэтому таблица пользователей не будет вставлена ​​в базу данных PostgreSQL, в базе данных PostgreSQL у меня будут другие таблицы, которые должны быть связаны с идентификацией пользователя (которая будет получена из LDAP), поэтому я должен добавитьстолбец в каждой из этих таблиц с именем uid , в котором хранится значение uid пользователя.Моя идея верна?

1 Ответ

0 голосов
/ 17 декабря 2018

То, что вы описываете, прекрасно.Просто помните, что какой атрибут вы используете в качестве уникального идентификатора, зависит от того, какой каталог LDAP вы используете.

Я действительно знаю только Active Directory, которая вообще не использует атрибут uid.AD имеет несколько уникальных атрибутов:

  • distinguishedName: указывает, где находится объект в каталоге.Это выглядит примерно так: CN=Gabriel Luci,OU=Users,DC=domain,DC=com.В общем, это характерно для LDAP, но в других каталогах LDAP может называться как-то иначе.
  • sAMAccountName: Это обычно называют «именем пользователя».Он должен быть уникальным в домене, но его можно изменить.
  • userPrincipalName: используется формат username@domain.com.Это должно быть уникально в лесу AD, но его можно изменить («лес» - это когда несколько доменов AD в одной организации)
  • objectSid: (обычно просто называется SID).Он хранится в виде байтового массива, но может быть преобразован в строку, которая выглядит как S-1-5-32-##########-###########-##########-#####.Это то, что используется Windows в разрешениях безопасности для предоставления учетных записей разрешениям на файлы и т. Д. Это нельзя изменить.
  • objectGuid: GUID, который автоматически назначается при создании учетной записи.Это не может быть изменено.

Первые три являются читаемыми человеком (в них обычно будет имя человека).Два других не совпадают, но они также остаются неизменными на протяжении всего срока службы объекта (если человек меняет свое имя, SID и GUID останутся прежними). ​​

Какой из них вы используете, зависит от вашеготребования.distinguishedName уникален и позволяет вам связываться непосредственно с объектом, когда вам нужно (в отличие от необходимости искать sAMAccountName, чтобы найти учетную запись).Но если вы хотите что-то, что никогда не изменится, даже если имя человека изменится, тогда лучше всего objectSid или objectGUID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...