/ / У запиті ajax чи існує серверний спосіб отримати js document.location? - c #, asp.net-mvc, asp.net-mvc-4, браузер, клієнт-сервер

У записі ajax є серверний спосіб отримати js document.location? - c #, asp.net-mvc, asp.net-mvc-4, браузер, клієнт-сервер

Контекст:

Привіт, система, в якій я працюю, має таке визначення авторизації:

Для будь-якого вузла в Mvc.sitemap існує дозвіл, пов’язаний.

Зараз я працюю у користувацькому атрибуті авторизації, який перевірятиме авторизацію на основі дозволів у Mvc.sitemap.

Перш ніж хтось критикує такий підхід, я повинен сказати, що я не можу його змінити, усі дозволи вже написані в Mvc.sitemap.

Атрибут дозволу легко врятувати,у кожному тезі Sitemap (тег xml), пов'язаному зі всіма сторінками, які описані у файлі мапи сайту, але є сторінки, які не описані у файлі. У файлі мапи файлів є визначення для перегляду сторінок, але не мають визначення сторінок часткового перегляду.

Питання:

У запиті ajax, чи є серверний спосіб отримати js document.location?

Я маю на увазі, якщо я отримую запит від ajax до часткового перегляду, в браузері URL (або в js: document.location) буде URL-адресою до "основного" погляду мого часткового зору. Тому я "буду шукати в мапі сайту до цієї URL-адреси (" головна "URL-адреса), а не в поточній URL-адресі (частковий URL-перегляд).

Відповіді:

0 для відповіді № 1

Звичайно, будь-які дані можуть бути додані до запиту ajax. Поточна URL-адреса сторінки зазвичай надсилається в referer заголовка, або ви можете написати обгортку завждивключає його як параметр. З іншого боку, ви не можете довіряти даним, які клієнт надсилає на сервер, і ви, звичайно, не повинні приймати рішення про дозвіл на його основі.

Якщо вам дійсно потрібно приймати рішення щодо безпекина основі сторінки, з якої викликається веб-служба, ви можете створити маркер на сторінці та включити її в кожен виклик ajax. Тоді ви переконайтеся, що маркер дійсний і надає абоненту необхідний доступ, перш ніж продовжувати запит.