Kestrel с использованием Microsoft.AspNetCore.Authentication.Negotiate с несколькими пользователями - PullRequest
0 голосов
/ 17 апреля 2020

В документации Microsoft.AspNetCore.Authentication.Negotiate говорится следующее здесь о том, как настроить Kestrel для использования Windows аутентификации:

Microsoft.AspNetCore.Authentication. Компонент согласования выполняет аутентификацию в режиме пользователя. Имена участников службы (SPN) необходимо добавить к учетной записи пользователя, на котором запущена служба, а не к учетной записи компьютера. Выполните setspn -S HTTP / myservername.mydomain.com myuser в командной оболочке администратора.

, который работает нормально. Но это не объясняет, что делать, если есть несколько приложений, работающих под разными пользователями. Если я пытаюсь выполнить setspn -S HTTP/myservername.mydomain.com myuser; setspn -S HTTP/myservername.mydomain.com myuser2, я получаю ошибку Duplicate SPN found, aborting operation!.

Я пытался использовать порт при регистрации имени участника-службы (setspn -S HTTP/myservername.mydomain.com:5000 myuser), но эта регистрация, кажется, игнорируется.

Не возможно запустить два ядра asp. net приложения с windows аутентификацией на одном сервере под разными пользователями или мне нужно регистрировать это по-разному?

1 Ответ

1 голос
/ 17 апреля 2020

Имя участника службы должно быть уникальным в Active Directory и может быть связано только с одной учетной записью службы.

SPN определяются на основе имени хоста, к которому они подключаются, поэтому

https://foo.bar.com эквивалентно https://foo.bar.com:8234/baz

И для полноты, если foo.bar.com является записью CNAME, браузер фактически будет использовать каноническую запись A (например, foo.bar.com => srv1-ny-web.corp.bar.net будет использовать последнюю при поиске имени участника-службы).

У вас есть два варианта: запускать на отдельных (суб) доменах или использовать одну и ту же учетную запись для обоих. Использование одной и той же учетной записи для обоих идентично использованию учетной записи компьютера. Для дальнейшего сходства используйте учетную запись gMSA, чтобы вам не приходилось управлять паролем.

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