Установить Windows Аутентификацию на сервере REST Grapevine Windows Сервис - PullRequest
0 голосов
/ 20 января 2020

Я разработал Windows Сервисы, которые предоставляют методы RESTful с использованием Grapevine. Мне нужен доступ к хранилищу сертификатов текущего пользователя, и я полагаю, что для этого мне нужно выдать себя за такого пользователя. По этой причине я бы установил аутентификацию для сервиса (и методов RESTful) как NTLM. Я попытался использовать метод, предложенный Скоттом, с помощью server.Advanced, чтобы получить HttpListener и установить метод аутентификации:

    static void MyCorsPolicy(IHttpContext context)
    {
        context.Response.AddHeader("Access-Control-Allow-Origin", "*");
        context.Response.AddHeader("Vary", "Origin");
        context.Response.AddHeader("Access-Control-Allow-Headers", "*");
    }

        var listener = server.Advanced;
        listener.AuthenticationSchemes = AuthenticationSchemes.Ntlm;
        listener.UnsafeConnectionNtlmAuthentication = true;
        listener.IgnoreWriteExceptions = true;
        server.Host = IPAddress.Any.ToString();
        server.Port = PortFinder.FindNextLocalOpenPort(1957);
        server.Router.BeforeRouting += MyCorsPolicy;
        server.LogToConsole().Start();

После этого в методы я планирую вставить инструкции, чтобы получить аутентифицированного пользователя и продолжить. Такие методы должны использоваться с помощью вызовов jQuery Ajax из браузера и javascript.

Когда я попытался это сделать, я не смог получить доступ к серверу из браузера, потому что я получил ошибку, которая «Нет заголовка Access-Control-Allow-Origin».

Есть предложения?

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