Имя пользователя WCF clientCredentialType - PullRequest
0 голосов
/ 28 марта 2011

У меня есть служба WCF со следующей конфигурацией:

        <service behaviorConfiguration="MyServiceBehavior" name="Service1">
            <endpoint address=""
                      binding="wsHttpBinding" bindingConfiguration="MembershipBinding"
                      name="ASPmemberUserName" contract="TestWcfService.IService1" />           
        </service>
         .
         .
         .
         .
         .
        <wsHttpBinding>
            <binding name="MembershipBinding">
                <security mode="Message">
                    <message clientCredentialType="UserName" />
                </security>
            </binding>
        </wsHttpBinding>

Я хочу передать имя пользователя прокси службы на клиенте и получить его на стороне сервера. Я использую приведенный ниже код для передачи имени пользователя в прокси-класс:

Service1Client sc = new Service1Client();

sc.ClientCredentials.UserName.UserName = HttpContext.Current.User.Identity.Name;

Когда я пытаюсь получить имя пользователя на сервере, ServiceSecurityContext.Current возвращает ноль. Есть идеи, почему он так действует?

1 Ответ

3 голосов
/ 28 марта 2011

Проблема была вызвана настройками сертификата.Ниже ссылка помогла решить проблему:

Простой сервис WCF с аутентификацией по имени пользователя по паролю: вещи, о которых они вам не говорят

...