2014-01-09 2 views
4

У нас есть локальный сервер Artifactory Pro, который обслуживает пакеты nuget и использует LDAP для аутентификации всех пользователей. Использование Artifactory-NuGet из cmdline отлично работает, но при попытке использовать диспетчер пакетов из Visual Studio аутентификация завершается с ошибкой.Аутентификация NuGet на Artifactory из Visual Studio

Что я заметил, так это то, что Visual Studio пытается добавить префикс домена после первой неудачной попытки аутентификации: попытка входа в систему как «пользователь» завершается с ошибкой, а затем окна аутентификации входа в систему «DOMAIN \ user» как имя пользователя.

Я не уверен, что источник проблемы находится в Visual Studio или в Artifactory. Я заметил, что веб-доступ к Artifactory не принимает имена пользователей в форме «DOMAIN \ user», хотя я считаю, что это необходимо.

Итак, мой вопрос: как мне аутентифицироваться на сертифицированный с помощью LDAP, сертифицированный Artifactory сервер NuGet в Visual Studio?

+0

Вам определенно нужен каждый пользователь для аутентификации как «себя»? Если репо является внутренним, можете ли вы разрешить открытый доступ для чтения и, возможно, одну учетную запись? –

+0

К сожалению, это невозможно, так как наши разработчики находятся в нескольких местах, и мы не можем просто реплицировать все серверы и не можем просто разрешать загрузку без auth. – Wilbert

+0

Предлагаю вам поговорить с парнями в JFrog - они очень полезны и увлечены. –

ответ

2

Убедитесь, что вы ввели имя пользователя (имя пользователя LDAP) и ваш зашифрованный пароль, тот, который вы можете получить через artifactory webapp

+0

Некоторое время боролся с этим, и зашифрованный пароль был тем, что было необходимо. – FriendlyGuy

1

У меня есть один и тот же вопрос, но я могу, чтобы скачать через браузер командной строки NuGet.

Я посмотрел на другой трафик с помощью скрипача, и похоже, что VS не добавляет маркер безопасности после аутентификации. Когда я загружаю браузер, трафик показывает дополнительный файл cookie после аутентификации, которого нет в запросе VS.

Browser 
Request = https://server/repo/artifact.pkg 
Responce = 401 not authrised 
{user prompted for username and password} 
Request = http TUNNEL encryped basic login 
Responce = 200 encrypted security token 
Request = https://server/repo/artifact.pkg + security token 
Responce = 200 the pkg file 


Visual studio 
Request = https://server/repo/$metadata 
Responce = 401 not authrised 
{user prompted for username and password} 
Request = http TUNNEL encryped basic login 
Responce = 200 encrypted security token 
Request = https://server/repo/$metadata + security token 
Responce = 200 <edmx> list of artifacts 
Request = https://server/repo/artifact.pkg 
Responce = 401 not authrised 
{user prompted for username and password} 
Request = http TUNNEL encryped basic login 
Responce = 200 encrypted security token 
Request = https://server/repo/artifact.pkg 
Responce = 301 its moved to "https://server/repo/artifact.pkg" 

похоже, что VS разрушен, и файл cookie не сохраняется и отправляется в последующем запросе. Вероятно, он использует очень ужасный компонент браузера в формах Windows и не сохраняет контейнер cookie между запросами. Мог бы сообщить MS.

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