Nano Hash - криптовалюты, майнинг, программирование

Предоставлять статические одностраничные приложения (статический HTML) только аутентифицированным пользователям с помощью ASP.NET MVC

Я делаю сайт ASP.NET MVC, который должен обслуживать ряд одностраничных приложений.

Одностраничное приложение - это статические файлы html, css и javascript, папка с файлом index.html и несколько папок для css, изображений и javascript.

У меня нет проблем с обслуживанием одностраничных приложений из виртуального каталога на сервере IIS, но я хотел бы обслуживать их только аутентифицированных пользователей в решении ASP.NET MVC, и поэтому сейчас я пытаюсь обслуживать файлы index.html из метода контроллера.

Когда я делаю это, загружая и обслуживая файл index.html, я не могу понять, как обслуживать все файлы css и javascript, используемые файлом index.html, потому что на них ссылается index.html с относительными путями, такими как "css /style.css "и" js / somejavascript.js ".

Я использую относительные части, чтобы упростить разработку и отладку одностраничных приложений независимо от решения ASP.NET MVC.

Итак, мой вопрос в основном заключается в том, как я могу обслуживать статические HTML-файлы с относительными URL-адресами для файлов css и js только для аутентифицированных пользователей на сайте ASP.NET MVC?


Ответы:


1

Если я понимаю: у вас есть статические HTML-файлы, которые вы не можете / не хотите изменять, с относительной ссылкой URL. В этом случае просто создайте свой маршрут MVC, чтобы относительные пути работали. Например, скажем, относительные пути выглядят так:

js/script.js
css/style.css

Когда вы отправите это обратно в браузер, он разрешит эти пути относительно текущего пути. Итак, если вы обслуживаете HTML-файл из маршрута (скажем):

Затем браузер отправит запросы на:

Поэтому настройте маршрут соответствующим образом и убедитесь, что любые альтернативные маршруты перенаправляют на основной, например, /home/index должен перенаправлять на /home.

08.09.2012

2

Поместите

[Authorize]

атрибут контроллера или действия для обслуживания index.html.

По умолчанию скрипты и CSS являются общедоступными, поэтому для них не требуется авторизация.

08.09.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..