Есть ли какие-либо известные проблемы, включая AngularJs в модуле Kentico?

В настоящее время я работаю над проектом Kentico 9, где необходимо предоставить бэкэнд администратора для настройки внешнего сайта в CMS. Я видел, что можно создать новый модуль, который может быть ограничен для определенных пользователей и в котором вы можете разрабатывать свои собственные страницы .aspx. Поскольку все мы знаем, что ASP.NET Webforms сегодня является старой технологией, и поскольку большая часть моей команды имеет очень хороший опыт в AngularJs, я подумал, что было бы интересно включить эту технологию в этот модуль.

Сначала я создал модуль и сослался на Index.html (точка входа)

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

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

Как видите, это новая папка, не связанная с файлами CMS, а находящаяся на том же сайте. Окончательный результат выглядит так:

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

Мне это кажется довольно простым. Я пытался найти какое-либо «предупреждение», которое могло бы существовать при таком подходе, но я мог найти что угодно (документация Kentico по этим темам немного скудна).

Однако я увидел, что Kentico отображает мою html-страницу из CMSAdministrator.aspx, что включает проверку безопасности и все, что предоставляет CMS, так что это кажется безопасным. Вы можете увидеть это по URL-адресу:

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

Итак, есть ли проблемы с открытым подходом?


person Mauro Bilotti    schedule 25.10.2016    source источник


Ответы (1)


Если мое предположение верно, ваш ~/Backend/index.html также доступен напрямую. Так что, если кто-то зайдет на http://yoursite.com/backend/index.html, они смогут увидеть вашу страницу.

Я считаю, что единственный способ убедиться, что этого не происходит, - это провести проверку на стороне сервера (что легко сделать с веб-формами, но вы также можете использовать контроллеры в MVC) или настроить web.config так, чтобы ваш раздел Backend предназначен только для определенных пользователей / ролей. Что-то вроде this может вам в этом помочь. :

<location path="x/a.txt">
  <system.web>
    <authorization>
      <deny users="*"/>
    </authorization>
  </system.web>
</location>
person Enn    schedule 25.10.2016
comment
Отлично! Это то, что я искал! Спасибо, Энн! - person Mauro Bilotti; 25.10.2016