Разрешить c # mvc 5 восстановить имя пользователя локального компьютера клиента [дубликат]

Другое решение состоит в том, чтобы выполнить код через последовательный исполнитель nsynjs .

Если базовая функция многозначна

nsynjs будет последовательно оценивать все обещания и ставить обещания результат в свойство data:

function synchronousCode() {

    var getURL = function(url) {
        return window.fetch(url).data.text().data;
    };
    
    var url = 'https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js';
    console.log('received bytes:',getURL(url).length);
    
};

nsynjs.run(synchronousCode,{},function(){
    console.log('synchronousCode done');
});

Если базовая функция не обещает

Шаг 1. Wrap с обратным вызовом в оболочку, совместимую с nsynjs (если у нее есть обещанная версия, вы можете пропустить этот тест):

var ajaxGet = function (ctx,url) {
    var res = {};
    var ex;
    $.ajax(url)
    .done(function (data) {
        res.data = data;
    })
    .fail(function(e) {
        ex = e;
    })
    .always(function() {
        ctx.resume(ex);
    });
    return res;
};
ajaxGet.nsynjsHasCallback = true;

Шаг 2. Вставить синхронную логику в функцию:

function process() {
    console.log('got data:', ajaxGet(nsynjsCtx, "data/file1.json").data);
}

Шаг 3. Выполнить функцию синхронно через nnsynjs:

nsynjs.run(process,this,function () {
    console.log("synchronous function finished");
});

Nsynjs будет оценивать все операторы и выражения шаг за шагом, приостанавливая выполнение в случае, если результат некоторой медленной функции не готов.

Дополнительные примеры здесь: https://github.com/amaksr/nsynjs/tree/master/examples

16
задан AnandhaSundari M 16 February 2015 в 14:08
поделиться

9 ответов

Вам нужно настроить вручную IIS Express (в VS2015 CTP6). Для этого отредактируйте файл applicationhost.config. (C: \ Users \ ваше имя пользователя \ Documents \ IISExpress \ config \ applicationhost.config)

В теге конфигурации добавьте это:

<location path="{your site name}">
    <system.webServer>
        <security>
            <authentication>
                <windowsAuthentication enabled="true" />
                <anonymousAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</location>
0
ответ дан cfhalle 28 August 2018 в 02:46
поделиться
7
ответ дан Community 28 August 2018 в 02:46
поделиться

Для RC1 & amp; IISExpress из пустого веб-приложения:

  • Щелкните правой кнопкой мыши веб-проект, выберите Properties
  • Нажмите вкладку Debug, отметьте Enable Windows Authentication

Это повлияло на ~/Properties/launchSettings.json следующим образом:

"windowsAuthentication": true,
"anonymousAuthentication": false,
1
ответ дан fiat 28 August 2018 в 02:46
поделиться

Я сделал все, что нашел в интернете, никто не работал. Итак, я посмотрел на конфигурационные файлы aspnet 4.5, и я увидел, что он использует:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>

в файле .csproj, я просто скопировал файл .xproj aspnet 5 и работал.

1
ответ дан Israel Souza 28 August 2018 в 02:46
поделиться

Поскольку вы создаете новое приложение, вы можете изменить тип аутентификации, нажав Change Authentication. Это вызовет выбор, в котором вы можете изменить тип типа на Аутентификацию Windows.

1
ответ дан JabberwockyDecompiler 28 August 2018 в 02:46
поделиться

Файл $(ProjectDir)\Properties\launchSettings.json заставит Visual Studio генерировать файл web.config при надлежащей отладке для IISExpress, который будет иметь узел <authentication/>, заданный в соответствии с настройками запуска.

Ниже приведен пример launchSettings.json

{
  "iisSettings": {
    "windowsAuthentication": true,
    "anonymousAuthentication": false,
    "iisExpress": {
      "applicationUrl": "http://localhost:65070/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    },
    "web": {
      "commandName": "web",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
  }
}

. Вместо использования прослушивателя также используйте расширение app.UseIISPlatformHandler();. Расширение установит промежуточное программное обеспечение, которое автоматически запросит NTLM и переведет соответствующие дескрипторы из IIS.

При развертывании в IIS, если вы используете WebListener, вам нужно добавить узел authentication самостоятельно в web.config. Если вы используете HttpPlatformHandler (который я рекомендую лично) и проксирование на пустельгу, добавьте forwardWindowsAuthToken="true" в узел httpPlatform в web.config.

5
ответ дан Joachim Brandon LeBlanc 28 August 2018 в 02:46
поделиться

С хостингом IIS вы можете добавить файл web.config в каталог wwwroot с конфигурациями IIS для вашего приложения.

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
        <security>
            <authentication>
                <windowsAuthentication enabled="true" />
                <anonymousAuthentication enabled="false" />
            </authentication>
        </security>
  </system.webServer>
</configuration>
4
ответ дан Malgaur 28 August 2018 в 02:46
поделиться

В дополнение к другим ответам, которые относятся только к IIS-хостингу, вы можете включить проверку подлинности Windows в самообслуживаемом проекте ASP.NET 5 (протестированном против бета-версии 7 и бета-версии 8), добавив следующее в Startup .cs Configure, перед app.UseMvc или аналогичным, который вы хотите защитить:

UPDATE FOR BETA 8

// If we're self-hosting, enable integrated authentication (if we're using
// IIS, this will be done at the IIS configuration level).
var listener = app.ServerFeatures.Get<WebListener>();
if (listener != null)
{
    listener.AuthenticationManager.AuthenticationSchemes = 
        AuthenticationSchemes.NTLM;
}

ПРЕДЫДУЩИЙ ОТВЕТ ДЛЯ BETA 7

// If we're self-hosting, enable windows/integrated authentication.
// For IIS, this needs to be configured in IIS instead, and the
// following will have no effect.
if ((app.Server as ServerInformation) != null)
{
  var serverInformation = (ServerInformation)app.Server;
  serverInformation.Listener.AuthenticationManager.AuthenticationSchemes = 
      AuthenticationSchemes.NTLM;
}

Адаптировано из официального примера MusicStore .

Если вы отлаживаете Visual Studio 2015 с помощью IIS Express, вы можете включить проверку подлинности Windows с помощью флажка в страницу свойств отладки для проекта сейчас, а не возиться с файлом applicationhost.config. Я не мог заставить решение web.config работать для отладки IIS Express, это порождает ошибку в том, что конфигурация не действительна на этом уровне. Обратите внимание, что это не работает в бета-версии 8 - см. эту проблему

5
ответ дан Mark Hughes 28 August 2018 в 02:46
поделиться

Если вы хотите включить проверку подлинности Windows в текущем веб-проекте:

В проводнике решений щелкните правой кнопкой мыши на веб-сайте и выберите «Окно свойств»

Установите «Анонимная аутентификация», на «Disabled»

И установите «Аутентификация Windows»

Запустите проект, и все будет в порядке.

1
ответ дан mRizvandi 28 August 2018 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: