я понял два пути преодоления проблемы с маркером, но оба из них имеют недостатки в некоторых отношениях, хотя, но годный к употреблению:
- Elmah.mvc позволяет принять решение о том, что URL вы хотите использовать, так что если вы запретить доступ к исходному Elmah, отключив доступ к/Elmah URL и вместо того, чтобы добавить appsetting для elmah.mvc подобное:
<add key="elmah.mvc.route" value="elmah_very_secure_url"/>
Затем, обеспечивая более безопасный/случайный URL-адрес, вы можете быть единственным, кто является abl e для доступа к нему. Этот подход имеет некоторые недостатки в области безопасности, поскольку он полагается на секретный URL-адрес, но многие сайты действительно используют этот подход, когда отправляют вам URL-адрес, который вы можете использовать для входа в систему, и т. Д. Более подробную информацию можно найти на странице security.stackexchange.com относительно того, как обеспечить этот подход и каковы последствия.
- Выполнение собственного метода, который вы можете вызвать с консоли, чтобы предоставить заголовок аутентификации, который требуется. Это может выглядеть примерно так, что для угловой (идея просто использовать структуру, которая делает перехват запроса уже добавить маркер и использовать его для выдачи добраться до Elmah):
function elmah(){
angular.element(document.body)
.injector()
.get("$http")
.get("\elmah")
.success(function(response)
{
var elmahWindow = window.open("");
elmahWindow.document.write(response);
});
};
Тогда если вы вводите elmah() в консоли, откроется новое окно. Этот подход кажется достаточно безопасным (если вы не измените метод, чтобы принять некоторые параметры, которые могут быть затем использованы в xss или что-то в этом роде), но проблема в том, что вы можете видеть только исходное представление в elmah и щелкнуть по всем URL-адресам потерпеть неудачу. Его можно расширить по-разному, но я не вижу удобного способа его исправления.