我通常在C#NET和angularjs中进行编程。
我想通过身份验证访问特定的服务器页面。
我所做的是,由客户端登录(使用用户名和密码)并从服务器获取令牌(通过rest 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 (作为一个概念)-如果没有nodejs的专有名词,那么该编程语言使用哪种方法?大多数语言的认证通用概念。
如何通过使用该载体来检索html页面?
我应该编写C#web-api控制器以将html作为文本返回并在客户端上进行解析,还是有更好的方法呢?
应该将其插入iframe,如我上面描述的代码。 我需要一些例子。
谢谢。