我正在浏览dotNetOpenAuth示例(OpenIdRelyingPartyMVC和OpenIdProviderMvc)并提出一个问题以便更好地理解......
在依赖方应用程序的MembersArea中,我使用OpenID" http:// localhost:4864/user/bob3 "作为示例.我被重定向到提供者登录页面,然后我使用Bob 5的凭据.成功登录后,我被重定向回RelyingParty,其中写着"祝贺Bob3 ......".
这只是依赖方应用程序中的一个绑定错误,它接受提交给提供程序的OpenID,或者我在Bob3的安全上下文中使用Bob5的凭据进行身份验证,这在我看来是一个主要的安全问题,如我可以通过提供商处的一个工作用户帐户进行身份验证.
我想在play框架中使用Bootstraps glyphicons
所以当我使用时<i class="icon-search" />,bootstrap正在寻找"assets/img/..."中的图标.此行为与播放应用程序的解剖结构冲突,因为图像位于"assets/images/..."中.
所以我尝试通过为"assets/img"定义GET请求的额外路由来重新映射:
# Map static resources from the /public folder to the /assets URL path
GET /assets/img/*file controllers.Assets.at(path="/public/images", file)
GET /assets/*file controllers.Assets.at(path="/public", file)
Run Code Online (Sandbox Code Playgroud)
但是这样做,我得到一个编译错误"没有足够的方法参数:(路径:字符串,文件:字符串)play.api.mvc.Call.未指定的值参数文件."在我正在调用的每个其他公共资产上.
我究竟做错了什么?
我已经通过 Kubespray 成功部署了 Kubernetes,一切似乎都运行良好。我能够通过 kubectl 访问集群并列出节点、pod、服务、机密等。也可以应用新资源,仪表板端点为我提供仪表板登录页面。
我已经使用不同服务帐户(默认、kubernetes-dashboard、kubernetes-admin、...)的令牌登录......每次登录时,我都会收到与kubespray 仪表板警告禁止弹出窗口中描述的相同的弹出窗口。
因此,我按照描述为默认服务帐户应用了集群角色绑定。当我现在使用默认帐户令牌登录时,我只会得到一个
Unknown Server Error (404)
the server could not find the requested resource
Redirecting to previous state in 3 seconds...
Run Code Online (Sandbox Code Playgroud)
之后将我重定向到登录页面的框。如果我通过kubectl proxy. 访问是通过公共集群 IP 的 HTTPS 和通过代理的 HTTP
我正在使用 Kubernetes 1.16.2 和最新的 Kubespray master commit 18d19d9e
编辑:我销毁并重新配置集群以获得一个新的 Kubespray 配置实例,使所有步骤都具有确定性,添加更多信息...
kubectl -n kube-system logs --follow kubernetes-dashboard-556b9ff8f8-jbmgg -- 在登录尝试期间给了我
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Incoming HTTP/2.0 GET /api/v1/csrftoken/login request from 10.233.74.0:57458: { contents hidden }
2019/12/16 12:35:02 [2019-12-16T12:35:02Z] Outcoming …Run Code Online (Sandbox Code Playgroud) 我超越了一个公司为我们开发的项目,遗憾的是我们没有得到太多支持,从长远来看,我们应该为自己完成维护.该应用程序包含一个简单的Web客户端(HTTP,JavaScript,Knockout框架)和REST API服务(.NET 4.5,我猜是ASP.NET MVC).
目前我只修改客户端,因此服务器仍应按预期工作.
在客户端,我稍微修改了Knockout View Model(添加了一些可计算和一些值的优化表示).视图模型由"问题"和"评论"组成(作为问题的数组,实际上是一个Bug跟踪器).如果我创建了一个新问题,则会将描述添加到第一个注释中,整个Model是JSON.stringified,并且发送到.NET API服务.我与Firebug一起证明,发布的JSON看起来像这样:
{
"Id":0,
"Title":"THis is a title",
"Comments":[
{
"Id":1,
"Text":"this is the first comment"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在客户端,我有一个"IssueController":
[HttpPost]
public HttpResponseMessage PostIssues( Issue issue ) {
//issue should already hold the deserialized content of the JSON here,
//but it only contains 'Id' and 'Title' not the 'Comments' (empty List)
...
}
Run Code Online (Sandbox Code Playgroud)
问题域模型对象也有一个用于保存注释的数组,但是为此它已经是空的..NET代码没有明确解析JSON的任何部分,据我所知,MVC框架通过相同的属性名称隐含地执行此操作(是吗?).
反序列化已按预期工作,因此.NET代码应该没问题,但我看起来我已经以某种方式修改了JSON,这种注释的隐式映射不再起作用.不幸的是,我没有很多.NET MVC框架的经验(或者它只是.NET WebAPI框架,甚至不能告诉你).
这些是我的问题:
编辑
Issue.cs看起来像这样(简化为肯定):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; …Run Code Online (Sandbox Code Playgroud) 我是一个相当新的玩家,事实上我现在正在阅读它,我应该说什么...问题的问题.目前我正在启动一个依赖于许多特殊java库(hibernate-spatial,jts等等)的项目.因为它还应该实现一个全面的REST API,所以我必须在Django和经典的JavaEE Glassfish应用程序之间做出决定.
但是现在我认为,通过游戏,我可以获得两全其美,我真的想深入了解这一点.
我真的无法想象,游戏的一个特点是将播放应用程序部署为WAR文件,甚至是像tomcat这样的简单Servlet容器.
所以,如果我的播放应用程序使用基于hibernate/hibernate-spatial的JPA持久层仍然可以作为WAR文件部署到一个简单的tomcat servlet容器中吗?或者我至少需要一个JavaEE Application Server?
我简直不敢相信......
刚刚发现,在KnockoutJS中,订阅函数是在依赖可计算对象之前进行评估的,并且需要可以提交该函数的人,因为在文档或论坛中找不到有关Knockouts计时的信息。
这意味着:如果我有这样的模型...
var itemModel = function (i) {
var self = this;
self.Id = ko.observable(i.Id);
self.Title = ko.observable(i.Title);
self.State = ko.observable(i.State);
};
var appModel = function () {
var self = this;
self.Items = ko.observableArray() // <-- some code initializes an Array of itemModels here
self.indexOfSelectedItem = ko.observable();
self.selectedItem = ko.computed(function () {
if (self.indexOfSelectedItem() === undefined) {
return null;
}
return self.Items()[self.indexOfSelectedItem()];
});
};
Run Code Online (Sandbox Code Playgroud)
我想用一个可观察的索引字段来跟踪选定的数组项,然后像这样订阅此索引字段...
appModel.indexOfSelectedItem.subscribe(function () {
// Do something with appModel.selectedItem()
alert(ko.toJSON(appModel.selectedItem()));
}
Run Code Online (Sandbox Code Playgroud)
...在使用新的索引值重新评估计算值之前先评估订阅函数,因此我将获得与上一个选定索引相对应而不是实际选定索引的selectedItem()。
两个问题:
我通过 kubespray 在我自己的几个虚拟机上配置了一个 kubernetes 集群。Kubespray 使用project-calico 作为默认网络插件,这非常适合我将集群网络中的代理服务连接到外部世界的要求。
Kubespray 将 apiserver 本身部署为 ClusterIP 服务。为了使其可以从外部访问,它使用主节点主机 IP 地址定义了该服务的端点,据我自己计算,该地址由 Calico 路由到内部 ClusterIP。
我的问题是:如何定义我自己的端点(用于另一个服务),因为这些端点已经通过配置 service.yaml 隐式定义并且不能被覆盖。我想遵循类似的方法让我的 Rook/Ceph 仪表板从集群外部可见。
编辑:请注意kubectl get ingresses.networking.k8s.io --all-namespaces返回No resources found.和kubectl describe service kubernete返回
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.233.0.1
Port: https 443/TCP
TargetPort: 6443/TCP
Endpoints: 192.168.103.254:6443
Session Affinity: None
Events: <none>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用play framework 2.2实现路由服务.因此,我有一个非常昂贵的图单例对象,需要在部署和启动播放应用程序时进行实例化.图的实例化需要大约.10到15分钟,将所有节点和边缘和限制加载到内存中,我不想在第一个API GET请求确实进入时触发.
此外,我希望能够做出反应,如果第一个GET请求进入并且图形尚未加载,则返回错误代码(HTTP 503或类似的东西).
只是一个想法:这应该在Application()构造函数中完成吗?我问,因为Application没有开箱即用的构造函数,我想这有一些意图.那么构造函数应该是私有的吗?
knockout.js ×2
kubernetes ×2
kubespray ×2
asp.net-mvc ×1
calico ×1
javascript ×1
json ×1
openid ×1