2015-02-13 3 views
1

ФОН:NT AUTHORITY ANONYMOUS LOGON Ошибка (Double Hop)

IIS на одном сервере (7)

SQL находится на другом сервере

Active Directory находится на другом сервере (это может быть или не может сделать разницу, но от того, что я прочитал это может)

у нас есть новый сайт MVC, который использует разрешения AD, чтобы предоставить доступ к сайту, а затем запустить СП в пределах SQL

Доступ к сайту работает правильно, но я получаю ошибку Ошибка входа для пользователя «NT AUTHORITY \ ANONYMOUS LOGON», который, я считаю, означает, что я упал на новую проблему с двойным прыжком.

В IIS У меня есть пул приложений из V4.0 интегрированного и Удостоверение пула приложений

в моем приложении у меня есть настройки ASP.net Олицетворение Enabled и проверка подлинности Windows Enabled все остальное Disabled

И в параметры делегации SQL Server и сервер IIS я установить «этот компьютер для делегирования служб (только Kerberos)»

также, если я запускаю следующее заявление в SQL

SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@ SPID;

Я получаю KERBEROS.

Что мне не хватает? или делать не так? Благодаря

+0

Это сервер IIS, который должен «этот компьютер для делегирования». Подтвердили ли вы, что IIS получает правильные учетные данные (т. Е. Анонимная аутентификация отключена)? В Интернете доступно несколько страниц справки по проверке подлинности, например [Страница проверки подлинности ASP.NET] (http://blogs.msdn.com/b/friis/archive/2013/01/08/asp-net-authentication- test-page.aspx), которые могут помочь. –

+0

Справедливости ради, Rhys, я опыт в разработке, все компании, с которыми я работал раньше, имели команды специалистов-серверов, поэтому не уверен, я взгляну на ссылку, спасибо и посмотрю, что еще я могу найти я прочитал стопки страниц и верю, что все будет правильно настроено, но, очевидно, что-то не было, я превратил делегирование на SQL-сервер, чтобы быть в безопасности, но у меня есть планы отключить его, как только все будет работать , – Noreen

+0

Я тот же, мой фон - dev, сетевое взаимодействие - это нечто второстепенное.Мне всегда удавалось использовать мои настройки в прошлом (но не использовать SPN), но иногда это занимает намного больше времени, чем другие, чтобы найти последний волшебный параметр, чтобы все это работало :) Google для DelegConfig, который является другим инструментом, вы использовали в прошлом. Удачи! –

ответ

0

Есть ряд вещей, которые вы можете проверить, есть ли у вас настройки SPN на SQL Box, они могут быть добавлены с помощью следующей команды:

setspn -a "<SQL_SERVER_Server_Name>:1433" "<SQL_SERVER_Service_Account>" 

Вы можете захотеть и добавить полное доменное имя а также краткое название. Когда это будет завершено, вам нужно будет перезапустить SQL Server, а не только службу.

Если это не работает, вы можете выполнить следующие команды:

setspn -l "<AppPool Account Name>" 

и

setspn -l "<SQL Server Account Name>" 
+0

Использование SPN * * более безопасно, но для не-Kerberos эксперт добавит еще один уровень сложности. В прошлом я использовал «Trust for any ...», чтобы обойти необходимость настройки SPN. –

+0

@RhysJones Я частично согласен с вами, но зависит от политики безопасности организации. – Iain

+0

Pro-tip: при добавлении SPN используйте -s вместо -a для setspn. Вы не позволите себе дублировать этот путь! –

Смежные вопросы