Первая часть этого UX - если вы используете базовую аутентификацию HTTP, возможно, вы избежите писать какой-либо код, предполагая, что веб-сервер перед вашим приложением будет иметь поддержку аутентификации. Если вы хотите придерживаться этого правила, http.Request
делает обработку базового pretty easy, и существует множество способов составления обработчиков net/http
, поэтому они удалены.
Если вам нужна встроенная форма входа в систему, то, конечно, вам придется написать эту логику, но вы можете использовать подход к стилю с использованием микросервиса и реализовать эту логику, обратившись к базовой службе на основе HTTP через внутреннюю службу. Я думаю, что этот подход имеет смысл, если вы предпочитаете использовать общую аутентификацию LDAP (например, модуль nginx/apache или что-то в этом роде), но не если вы хотите поговорить с сервером LDAP самостоятельно.
Что касается фактических учетных данных, если вам нужно сделать это вручную, в Go есть несколько реализаций LDAP. У меня был успех с go-ldap как для проверки привязки, так и для устаревших паролей, путем выбора полей в качестве администратора.