Azure Active Directory не работает (после удаления файлов cookie)

Я создал приложение MVC и разместил его в приложении Azure вместе с Active Directory. Проблема здесь в том, что при нажатии кнопки «Отправить» (модуль входа) в Active Directory она иногда работает, а иногда не работает.

Это не работает в том смысле, что => Потребовалось слишком много времени для загрузки, чтобы получить URL-адрес повтора. Вот таквведите здесь описание изображения

И результат с неверным запросом!

введите здесь описание изображения

Действия, чтобы повторно сообщить о моей проблеме:

  1. Когда я попытался удалить файлы cookie в своем браузере. Это не сработает. (Долгая загрузка и результат в неверном запросе) м

  2. Когда я пытался открыть в нескольких браузерах

Что будет причиной моей проблемы здесь?

(P.s. я использовал Azure Sql Server для строки подключения к базе данных)

Заранее спасибо,
Джайендран

ОБНОВЛЕНО 1

Web.config

   <?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=301880
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Server = tcp:myazuresql.database.windows.net,1433; Initial Catalog = database; Persist Security Info = False; User ID = username; Password = mypassW@Azure; MultipleActiveResultSets = False; Encrypt = True; TrustServerCertificate = False; Connection Timeout = 30;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="ida:ClientId" value="to be filled" />
    <add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
    <add key="ida:ClientSecret" value="to be filled" />
    <add key="ida:Domain" value="domain.com" />
    <add key="ida:TenantId" value="to be filled" />
    <add key="ida:PostLogoutRedirectUri" value="https://ww.mydomain.com/" />
  </appSettings>
  <system.web>
    <customErrors mode="Off" />
    <compilation targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <httpRuntime maxRequestLength="10000"/>
  </system.web>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.8.1.0" newVersion="5.8.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
  </configuration>

Теперь длина заголовка ответа составляет 75введите здесь описание изображения

ОБНОВЛЕНО 2

Я только что обнаружил, почему страница загружается так долго с помощью инструмента разработчика в Chrome.

На странице входа: в заголовке запроса указано, что показаны предварительные заголовки

введите здесь описание изображения

Этот URL-адрес заставляет свернуть мою страницу входа в систему, чтобы она работала непрерывно. Я также проверил, скопировал этот URL-адрес и вставил его в отдельную вкладку. Это занимает слишком много времени и заканчивается слишком длинным заголовком Req.


person Jayendran    schedule 11.07.2017    source источник
comment
Вы собираетесь добавить сюда часть своего кода. Я сомневаюсь, что кто-то может помочь, основываясь только на этом описании.   -  person juunas    schedule 11.07.2017
comment
@juunas См. мой обновленный код выше. Файл Web.Config. Думаю этого будет достаточно   -  person Jayendran    schedule 11.07.2017


Ответы (2)


Судя по сообщению об ошибке, заголовок вашего запроса слишком длинный. размер по умолчанию составляет 4096 КБ. (4 МБ), чтобы изменить размер по умолчанию, мы можем настроить, как показано ниже:

<system.web>
        <httpRuntime maxRequestLength="10000"/>
</system.web>
person Fei Xue - MSFT    schedule 12.07.2017
comment
Нет, это не работает, когда я добавил приведенную выше конфигурацию, я получаю сообщение об ошибке, например Страница не может быть отображена, потому что произошла внутренняя ошибка сервера. Она даже не отображает страницу входа :( - person Jayendran; 12.07.2017
comment
Не могли бы вы обновить конфигурацию, которую вы изменили? Кроме того, я предлагаю вам также проверить запрос с помощью Fiddler или инструментов разработчика Chrome, чтобы увидеть, какие заголовки слишком длинные. - person Fei Xue - MSFT; 12.07.2017
comment
См. (обновлено 2) выше. Как вы упомянули, я также проверил Инструменты разработчика в хроме. Похоже, нет * слишком длинных заголовков * Ошибка. Это вызвало новую ошибку, как я упоминал выше. Также добавил изображение - person Jayendran; 12.07.2017
comment
Я только что нашел причину слишком длинного и продолжительного сценария заголовка. См. Обновление 2 выше. Я думаю, что этот URL-адрес вызывает слишком длинный заголовок запроса! - person Jayendran; 12.07.2017
comment
Судя по приведенному выше рисунку, это кажется правильным. Есть ли другие заголовки? - person Fei Xue - MSFT; 12.07.2017
comment
Не только приведенный выше заголовок Обновлен 2, вызывающий проблему. Иногда это работает. Но после удаления файлов cookie. Длина заголовка запроса увеличивается автоматически! лиды загружаются долго - person Jayendran; 12.07.2017
comment
После удаления файлов cookie веб-приложение будет перенаправлять пользователей для входа в систему. И просьба вроде тоже правильная. Я также проверял эту проблему, используя этот пример кода, однако не удалось . И когда вы ссылаетесь на загрузку много времени, какой запрос вы имели в виду? Запрос на вход или запрос страницы веб-приложения? - person Fei Xue - MSFT; 12.07.2017
comment
Я думаю, что это будет принадлежать запросу на вход в систему. Поскольку я использовал Active Directory для входа в систему. Заголовок, который занимает слишком много времени, принадлежал URL-адресу входа login.microsoftonline.com.....blabla можно увидеть запрос страницы веб-приложения. Но запрос на вход может получить своевременный ответ . - person Jayendran; 12.07.2017
comment
Давайте продолжим это обсуждение в чате. - person Jayendran; 12.07.2017
comment
Заголовки запроса создаются компонентом OWIN. И поскольку проблема не может быть воспроизведена, можете ли вы воспроизвести ее, используя приведенный выше пример кода? Чтобы мы могли определить, вызвана ли эта проблема кодом или средой. - person Fei Xue - MSFT; 12.07.2017
comment
Пример кода выше в среднем, вы отвечаете? ‹httpRuntime maxRequestLength=10000/› ? Добавление: когда я устал от своей локальной обработки (без AD), проблем не возникло. Когда я попытался реализовать AD. Я испытываю эти проблемы - person Jayendran; 13.07.2017
comment
Образец кода находится в комментарии выше, вы можете проверить его по этой ссылке . - person Fei Xue - MSFT; 13.07.2017
comment
Только что я решил свою проблему. Это известная ошибка в Katana. Теперь она работает нормально. Благодарю вас за ваши ответы и отзывы за последние пару дней. - person Jayendran; 14.07.2017

Это известная ошибка в Katana, когда диспетчер файлов cookie Katana и диспетчер файлов cookie ASP .NET конфликтуют и перезаписывают файлы cookie друг друга.

Я только что исправил, используя приведенный ниже ответ

Второй вход вызывает бесконечный цикл перенаправления после первого успешного входа в систему MVC .NET 5 OWIN ADAL OpenIDConnect

person Jayendran    schedule 14.07.2017