Я программирую на C # NET (как правило) и angularjs.
Я хочу получить доступ к определенной странице сервера с аутентификацией.
То, что я сделал, это вход в систему (с пользователем + пароль) клиентом и получение токена с сервера (с помощью функции API остальных).
Когда у меня есть токен, этот токен передается при любом последующем запросе от клиента к серверу.
Обычно сервер возвращает данные json для этих запросов.
Что делать, если я хочу вернуть HTML-страницу и вставить ее в iframe.
Каков наилучший способ извлечения самой HTML-страницы?
Код в клиентском javascript (с использованием angualrjs):
$scope.setDashboardURL = function () {
$.ajax({
type: "GET",
url: "http://localhost:64185/my_api_controller/Dashboard.html",
"Access-Control-Allow-Origin": "*",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", 'Bearer ' + "my_token_value");
},
success: function (data) {
var iframeDoc = document.querySelector('#iframeDashboard').contentWindow.document;
iframeDoc.open('text/html', 'replace');
iframeDoc.write(data);
iframeDoc.close();
}
});
}
HTML может выглядеть так:
<html ng-app="employee">
<head>
<meta charset="utf-8" />
<title>AngularJs Sample</title>
<link rel="stylesheet" href="../Content/bootstrap.min.css">
<link rel="stylesheet" href="../Content/bootstrap-grid.min.css">
<link rel="stylesheet" href="../Content/bootstrap-reboot.min.css">
<script src="../app/app.js"></script>
<script src="../app/controllers/employeeCommon.js"></script>
<script src="../app/controllers/employeeDataController.js"></script>
</head>
<body>
<h1>Details</h1>
<div ng-controller="employeeDataController">
<div class="full-height-content full-height-content-scrollable" ng-init="setDashboardURL()" height="100%" width="100%">
<iframe id="iframeDashboard" height="100%" width="100%"></iframe>
</div>
</div>
</body>
</html>
Сервер написан на C # с использованием Авторизации -
Я знаю, что существует приемлемая методология, использующая библиотеку owin для C #.
Я новичок в этой методологии, , но мне также нужен эквивалент для nodejs (в качестве концепции) - если нет owin для nodejs, какая методология используется для этого языка программирования или есть какая-либо общая концепция аутентификации для большинства языков.
Как я могу пройти, чтобы получить html-страницу с использованием этого носителя?
Должен ли я написать C # контроллер web-api, который возвращает HTML в виде текста, и проанализировать его на клиенте, или есть ли лучший способ сделать это?
Это должно быть введено в iframe, как я описал выше код.
Мне нужно несколько примеров, пожалуйста.
Спасибо.