• Как добавить авторизацию через Active Directory в приложение, в котором уже есть авторизация на основе JWT?

    @rv82 Автор вопроса
    ASP.NET Core разработчик
    Решение, как оказалось, очень простое и было найдено по горячим следам. Сложнее было настроить сеть с тестовым доменом AD. Только сейчас дошли руки написать ответ. Итак:

    1. Добавить к проекту nuget-пакет Microsoft.AspNetCore.Authentication.Negotiate.

    2. В файл Startup.cs, в методе ConfigureServices, вслед за services.AddAuthentication(...).AddJwtBearer(...) добавить .AddNegotiate(). Аутентификация JwtBearer остаётся по умолчанию. Больше никаких настроек выполнять не требуется!

    3. В контроллере, отвечающем за аутентификацию (в нашем случае AccountController) добавляется метод, например LoginByActiveDirectory, с атрибутом [Authorize(AuthenticationSchemes = NegotiateDefaults.AuthenticationScheme)]. Атрибут указывает, что для доступа к этому методу нужна аутентификация через AD.

    4. Перед запуском приложения необходимо задать переменную окружения KRB5_KTNAME с указанием пути к keytab-файлу. Этот файл создаётся на контроллере домена.

    PS. Если нужны подробности, то могу набросать более развёрнутую статейку с описанием процесса настройки тестового домена и создания keytab-файла на примере Debian и Samba.
    Ответ написан
    1 комментарий
  • Проблемы с установкой MS SQL Server Exress, версии с 2015 по 2016. Можно ли решить без переустановки системы?

    @rv82 Автор вопроса
    ASP.NET Core разработчик
    Проблема решилась. Для установки нужно проделать следующее:
    1. установить в систему английский языковой пакет и выбрать английский язык по умолчанию;
    2. выйти и снова войти в систему, чтобы английский язык применился;
    3. скачать с сайта установщик английской версии MS SQL Server Express и запустить установку.

    Установка должна пройти нормально. После установки можно вернуть русский язык.

    Русскую версию сервера можно даже не пытаться ставить. Мне так и не удалось установить её.

    PS. Привязка установочного пакета к языку системы, на мой взгляд, полный бред!
    Ответ написан
  • Yandex календарь и синхронизация с Android?

    @rv82
    ASP.NET Core разработчик
    Есть и бесплатная и программа - DAVDroid. Причём, есть как на Google Play, так и в репозитории f-droid, что позволяет без проблем ставить её на устройства без сервисов google. Регулярно обновляется. Пользуюсь уже около года. Ни разу не подвела.
    Ответ написан
    2 комментария