Ошибка небезопасного расположения AngularJS, вызванная попыткой получить шаблон HTML при переходе состояния - PullRequest
0 голосов
/ 28 октября 2019

Кажется, что AngularJS блокирует доступ к html-шаблону, который является частью моего веб-приложения Angular, поскольку целевой сервер считается небезопасным. Однако корневой файл index.html для приложения был ранее получен с того же сервера!

Физическая конфигурация для моего приложения показана ниже. Приложение представляет собой приложение Captive Portal, которое обрабатывает запросы на доступ в Интернет от гостевых пользователей, подключенных к Wi-Fi LAN. Точка доступа Wi-Fi перенаправляет запросы доступа к Интернету гостевого пользователя на Captive Portal, который отвечает за аутентификацию гостевого пользователя.

Конфигурация системы для приложения Captive Portal

Точка доступа в моей системе настроена на перенаправление запроса доступа в Интернет (например, запроса на доступ к www.google.com) в приложение Captive Portal на моем сервере портала. Это происходит правильно. Однако, хотя главная страница для моего приложения портала отображается на гостевом ПК пользователя, показанном на схеме, поиск компонентов html шаблона. Конфигурация angular-ui-router для моего приложения показана ниже:

function RoutesConfig($stateProvider, $urlRouterProvider) {
    $stateProvider
      .state(
        'sponsor',
        {url: '/sponsor',
        templateUrl: './src/templates/sponsor.template.html'
        })
      .state(
        'actions',
        {url: '/actions',
        templateUrl: './src/templates/actions.template.html'
        })
      .state(
        'accessreq',
        {url: '/accessreq', 
        templateUrl:'./src/templates/accessreq.template.html'
        })
      .state(
        'accessresp',
        {url: '/accessresp', 
         templateUrl: './src/templates/accessresp.template.html',
         controller: 'AccessRespController as award', resolve: {accessResp: 
          function(AccessServices) {
          return AccessServices.accessRequest();}}
        })
      .state(
        'qualifyresp',
        {url: '/qualifyresp', 
         templateUrl:  './src/templates/qualifyresp.template.html',
         controller: 'QualifyRespController as qualify', resolve: 
          {qualifyResp: function(AccessServices) {
          return AccessServices.qualifyRequest();}}
        });
    $urlRouterProvider.otherwise('/sponsor');
  }

Сообщение журнала, генерируемое кодом AngularJS, показано ниже:

http://www.msftconnecttest.com/redirect#!/sponsor Отклонение перехода ($ id: 0 тип: 6, сообщение: ошибка перехода, подробности: ошибка: [$ sce: insecurl] http://errors.angularjs.org/1.6.10/$sce/insecurl?p0=.%2Fsrc%2Ftemplates%2Fsponsor.template.html)

Я могу получить доступ к приложению Captive Portal на моем гостевом компьютере пользователя Wi-Fi допроверка подлинности, потому что я включил сервер Captive Portal в белый список для гостевых пользователей, прошедших предварительную проверку подлинности. Когда я получаю доступ к Captive Portal напрямую через его URL-адрес, приложение работает нормально и доступ к компонентам шаблона html осуществляется успешно. Это происходит только при доступе к приложению Captive Portal. редирект, что код AngularJS сгенерировал ошибку. Есть идеи, в чем может быть проблема?

...