Защита WCF с использованием NTLM CustomBinding и пользовательского принципала в asp.net - PullRequest
0 голосов
/ 27 апреля 2011

При защите службы WCF я хочу использовать свой пользовательский субъект активного каталога, используемый на веб-сайте asp.net, на котором размещается служба. Все хорошо при навигации по сайту, и пользовательский принципал настраивается с использованием следующего кода

static void context_AuthenticateRequest (отправитель объекта, EventArgs e) { CustomIdentity удостоверение личности; CustomPrincipal Principal = GetPrincipalFromCookie ();

        if (principal == null)
        {
            ... create principal from active directory
            ... Store Principal in a cookie
        }

        HttpContext.Current.User = principal;
        Thread.CurrentPrincipal = principal;
    }

ОДНАКО, когда я делаю вызов WCF для своей службы, появляется диалог входа в систему, удаляя строку HttpContext.Current.User = принципал, в результате диалог входа в систему не появляется, но это мне не нужно, так как мне это нужно, чтобы WebUserSecurityContext быть заполненным для моего заявления. Я использую customBinding с NTLM

      <httpTransport authenticationScheme="Ntlm" 
        maxBufferSize="2147483647"
        maxReceivedMessageSize="2147483647"
        maxBufferPoolSize="2147483647" proxyAuthenticationScheme="Anonymous"/>
    </binding>
  </customBinding>

Мне не хватает параметра в моей конфигурации, чтобы предотвратить это диалоговое окно входа в систему или есть лучший способ? любая помощь будет оценена

1 Ответ

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

HttpContext.Current не учитывается, пока не включится AspNetCompatibilityMode.Вы включили AspNetCompatibilityMode для обслуживания?

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