Плагин WordPress для аутентификации на LDAP или NTLM и обработки ролей

В моей компании у нас есть некоторые технологические ограничения. В настоящее время у меня есть сервер IIS с PHP. IIS настроен для аутентификации пользователей через нашу Active Directory с использованием NTLM.

Я установил WordPress на этот сервер и могу войти на него, используя учетную запись администратора (id = 1), и любой пользователь может читать статьи и оставлять комментарии анонимно.

«Спасибо» NTLM, я могу получить логин пользователя с $_SERVER['REMOTE_USER'], Таким образом, я могу идентифицировать (в плагине) пользователей. Но WP не регистрирует их автоматически и не идентифицирует их.

Теперь мне нужно контролировать права пользователей внутри WordPress. Мне нужно приписать им роли, определить группы людей, которым разрешено публиковать, публиковать и редактировать без возможности публиковать, комментировать и регистрировать свой логин в своих комментариях, а также пользователей, которым разрешено только читать статьи (гости), а пользователей нет. разрешено читать статьи. Возможно, мне также нужно будет приписать категории прав доступа для чтения к категориям, чтобы данной роли разрешалось читать статьи из одной категории, а не из другой категории.

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

Чтобы получить их отдел, обвинение и имя, я мог бы использовать LDAP. Если это невозможно, у меня есть база данных MSSQL, в которой также есть их данные. Поэтому, если я не могу использовать LDAP, мне нужно подключить WordPress к MSSQL и запросить его.

Нецелесообразно регистрировать десятки тысяч пользователей в WordPress и даже больше, чтобы просить их сохранить свои пароли. Мне нужен WordPress для идентификации пользователей и автоматического добавления новых в свою таблицу wp_users. Мне также нужно иметь возможность вручную зарегистрировать несколько пользователей, не требуя, чтобы они сначала заходили на сайт. Затем я могу вручную управлять пользователями для ролей WordPress.

Я вижу 3 возможных решения здесь:

1) Используйте NTLM IIS для аутентификации пользователей и используйте $_SERVER['REMOTE_USER'] чтобы получить их логин и войти в WordPress. Если они еще не зарегистрированы на wp_users, это сделано. Затем я запрашиваю MSSQL их данные. Это, кажется, самое простое решение.

2) Используйте NTLM IIS для аутентификации пользователей и используйте $_SERVER['REMOTE_USER'] чтобы получить их логин. Затем извлеките их имена из AD, используя LDAP, и предоставьте эти данные для аутентификации WordPress и обработки wp_users. Это самое желанное решение, но и самое сложное.

3) Игнорировать NTLM и требовать, чтобы пользователи вручную указывали свои логин и пароль в форме входа WordPress, затем аутентифицировали их по LDAP и обрабатывали wp_users. Предоставленный пароль является их AD. HTTPS уже работает и находится внутри бэкэнда. Это наименее желаемое решение, потому что пользователи уже привыкли проходить аутентификацию в NTLM и могут не захотеть или не понять форму входа (да …).

Кто-нибудь сделал это и может мне помочь? Есть ли плагин, который решает эту проблему, или какой-то открытый исходный код, который я могу использовать в качестве основы для разработки плагина?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]