Задать вопрос
@alexandrsemen4ukk

Как настроить Apache2 под два типа авторизации?

В общем есть у меня сайт на Django, который доступен для внешнего мира и имеет 3 способа авторизации (стандартный, через Kerberos и LDAP).
Рулит у меня всем этим Apache2, по умолчанию я хочу чтобы сайт сначала проверял возможность авторизации через Kerberos, если авторизация не удалась, то чтобы выполнялось перенаправление на страницу логина и там чтобы можно было выполнить авторизацию по логину и паролю.
Вот как это у меня прописано в конфиге апача:

# Отключаю Kerberos Authentication для страниц login и admin
    <LocationMatch "^/(login|admin)">
        AuthType None
        Require all granted
        RequestHeader unset Authorization
    </LocationMatch>

    # Kerberos Authentication
    <Location />
        AuthType Kerberos
        AuthName "Kerberos Login"
        KrbAuthRealms COMPANY.COM
        Krb5KeyTab /etc/krb5.keytab
        KrbMethodNegotiate on
        KrbMethodK5Passwd off
        KrbLocalUserMapping on
        AuthBasicAuthoritative off
        Require valid-user
    </Location>


При такой истрии работает только Kerberos авторизация, не смотря на то, что я указал отдельные правила для страницы login и admin. А если я включаю KrbMethodK5Passwd on (чтобы Kerberos позволял сам выполнить авторизацию по паролю, что в целом устраивает), то почему-то сайт 2 раза запрашивает ввод логина и пароля в хроме и эдже, в огненной лисе почему-то нормально, если выключил вообще не спрашивает, если включил то только один раз.

Подскажите, люди добрые, как сделать простую вещ, чтобы сначала проверялся Kerberos, а потом перенаправлялся на обычную авторизацию. Уже всю голову сломал, мб другими средствами как-то реализовать, apache2 и kerberos был выбран т.к. апач уже умеет работать из под капота с ним (но видимо не очень), а kerberos т.к. у нас обычный Microsoft Active Directory, а не Azure
  • Вопрос задан
  • 68 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы