У меня есть 2 веб-приложения: одно - это веб-приложение ASP.Net, а другое - приложение веб-служб ASP.Net WCF. Я хочу, чтобы веб-приложение использовало сервисы веб-приложений WFC. В конце концов, эти 2 приложения будут общаться через брандмауэр.Как передать данные пользователя из веб-приложения ASP.Net в службу WCF?
Я хочу, чтобы пользователь входил в клиентское веб-приложение, используя проверку подлинности форм, аутентифицированную службой wcf, а затем получал доступ к ресурсам службы на основе своих ролей.
До сих пор мне удалось войти в систему, используя System.Web.ApplicationServices.AuthenticationService, хотя мне не удалось вернуть метод службы IsLoggedIn true. Тем не менее, клиентское веб-приложение распознает, что пользователь вошел в систему.
Кроме того, мне удалось создать фиктивную службу, которая распознает пользователя в OperationContext.Current.ServiceSecurityContext.PrimaryIdentity, и я подумал, что это журнал в том, что он распознает, но оказывается, что это фактически имя ServiceClient.ClientCredentials.UserName, которое оно распознает. Как я могу передать детали зарегистрированного пользователя в службу WCF?
Я могу установить ClientCredentials.UserName зарегистрированному пользователю, но я не могу придумать способ получить пароль.
Я использую совершенно неправильный подход здесь или есть что-то, что мне не хватает? Любой совет будет принят во внимание.
Это моя связывании конфигурация:
<wsHttpBinding>
<binding name="wsHttp">
<security mode="Message">
<message clientCredentialType="UserName"
negotiateServiceCredential="false"
establishSecurityContext="false"/>
</security>
</binding>
</wsHttpBinding>
Спасибо, Iain
Привет, Рубенс, спасибо за ваш ответ. Я боюсь, что это не работает, потому что он проходит через учетные данные Windows, а не учетные данные для проверки подлинности форм. Спасибо, Iain – Iain