Аутентификация PSI только возвращает 401 - PullRequest
0 голосов
/ 24 октября 2011

Я разрабатываю веб-сервис, который станет «привратником» между многими приложениями и PSI.Дело в том, что «многие приложения» будут предоставлять логин / пароль, и веб-сервис должен аутентифицировать их по PSI.Но что бы я ни делал, я всегда получаю 401 Несанкционированную ошибку, когда я вызываю метод "PSIFormsLogin.Login (user, password)" ... Я использовал даже пользователя, который запускает ферму ...

Я также ужеследуя следующему учебному пособию по MS: http://msdn.microsoft.com/en-us/library/ff181538.aspx

В конце концов, все, что я хочу сделать, это проверить учетную запись / пароль, предоставленные с помощью веб-сервисов PSI, может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно ???

PS: не WCF

Новая информация: произошло нечто забавное.Я намеренно переключил URL-адрес на несуществующий: http://myserver/pwa/_vti_bin/psi/bla.asmx, но все равно получил 401 ...

1 Ответ

0 голосов
/ 27 апреля 2012

Убедитесь, что вы изменили web.config своего приложения следующим образом. Просто перезапишите узел безопасности в узле привязки:

<binding name="WssInteropSoap">
  <security mode="TransportCredentialOnly">
    <transport clientCredentialType="Ntlm" proxyCredentialType="Ntlm"
        realm="" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
  </security>
</binding>

Теперь вы можете проходить аутентификацию без специальной учетной записи (проход через Windows) или с помощью этого кода вы можете указать учетную запись:

//credential impersonation (just if you changed your binding settings)
projectSvc.ClientCredentials.Windows.ClientCredential = new NetworkCredential("username", "password", "domain");
projectSvc.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

Надеюсь, это поможет:)

Но я никогда не слышал о функции, которая называется: "PSIFormsLogin.Login"

Может быть, моя запись в блоге о настройке подключения к PSI с C # вам интересна: Чтение пользовательских полей Project Server 2010 через PSI

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