2sxc "had an Error Talking with the Server (Status 403)"
2sxc "had an Error Talking with the Server (Status 403)"
我安装了一个 2sxc 版本 11.11.3 在一个新的 dnn 9.3.2 里面。
在此之后,我创建了一个内容模块,其中包含简单的测试视图。在此之后,我授予该模块对 dnn 模块级别的注册用户组的编辑权限。
如果我以注册用户身份登录,我可以看到模块和项目的 2sxc 工具栏(将鼠标悬停在模块的项目上时的蓝色符号)。如果我按下编辑图标,我会收到消息“与服务器通信时出错(状态 403)”。
有人知道我做错了什么吗?
非常感谢
罗伯特
编辑 1
浏览器控制台在 ERROR 对象中显示以下内容:
error: "Permission denied. required permissions for this request are not given"
headers: t
lazyInit: ƒ ()
lazyUpdate: null
normalizedNames: Map(0) {}
__proto__: Object
message: "Http failure response for https://.../api/2sxc/cms/edit/load?appId=2: 403 OK"
name: "HttpErrorResponse"
ok: false
status: 403
statusText: "OK"
url: "https://.../api/2sxc/cms/edit/load?appId=2"
编辑2
在这之后我想探索,如果行为与 2sxc 内容模块相关,或者它是否与所有应用程序相关(在我的理解中,2sxc 内容模块也是一个应用程序)。我安装了“常见问题解答”应用程序,授予“注册用户”组 dnn“编辑”权限并以注册用户身份登录并按下 2scx 工具栏上的编辑图标 - 并且具有与来源中描述的相同行为 post.
但是:我得到了“FAQ”应用程序的 运行,但不是“内容”应用程序的。以下是我为“常见问题解答”应用获取 运行 的步骤:
- 点击“应用程序管理”(在 dnn 编辑操作或 2sxc 工具栏中可用)
- “功能”- 添加功能- 启用“组/角色权限”- 激活功能
- “应用程序”-“常见问题解答”(或内容除外)
- “App”-“App Permissions”(点击图标)-“创建新权限”-Identity=xx(xx=tabledbo.Roles中组的RoleId)-Grant =编辑(在我的例子中,我希望当前注册用户能够编辑项目)- 保存 (Ctrl+S)
之后我可以编辑“FAQ”模块的项目了。
默认情况下,“内容”模块在应用级别(以及视图和数据级别)禁用“应用权限”图标。有谁知道这是设计使然还是有可能激活此选项?否则我必须将我的内容视图迁移到应用程序以获得权限 运行.
编辑3
我最终将“内容”应用程序的内容迁移到新的自定义应用程序。工作量非常小,获得授予权限的可能性是值得的。
最后我会自己回答我的问题。我想“内容”应用程序不可能授予专用权限。但应用程序本身具有可能性 - 因此在应用程序内部创建内容可能是个好主意。
一些背景知识:content-app 适用于简单的内容,其行为与普通应用不同。示例:
- 添加内容应用时,对话框会要求您选择内容类型和视图
- 当您添加应用程序时,对话框会询问您选择哪个应用程序,然后是什么视图
基本上,内容应用程序有各种优化,使其更轻、更简单,但我们想防止人们“搬起石头砸自己的脚”,因为他们通常会从内容开始,然后让它变得越来越复杂(从不分离不同的关注点)并以一团糟告终。
这就是为什么内容应用有一些强制限制(比如没有应用权限)来引导人们在自己的应用中放置更复杂的功能。
现在请注意,这并不能解释您原来的问题:显然编辑权限没有按预期工作。这似乎是一个错误,而不是一个意图。如果您认为应该跟进,最好在 github.
上创建一个问题
我安装了一个 2sxc 版本 11.11.3 在一个新的 dnn 9.3.2 里面。
在此之后,我创建了一个内容模块,其中包含简单的测试视图。在此之后,我授予该模块对 dnn 模块级别的注册用户组的编辑权限。
如果我以注册用户身份登录,我可以看到模块和项目的 2sxc 工具栏(将鼠标悬停在模块的项目上时的蓝色符号)。如果我按下编辑图标,我会收到消息“与服务器通信时出错(状态 403)”。
有人知道我做错了什么吗?
非常感谢 罗伯特
编辑 1 浏览器控制台在 ERROR 对象中显示以下内容:
error: "Permission denied. required permissions for this request are not given"
headers: t
lazyInit: ƒ ()
lazyUpdate: null
normalizedNames: Map(0) {}
__proto__: Object
message: "Http failure response for https://.../api/2sxc/cms/edit/load?appId=2: 403 OK"
name: "HttpErrorResponse"
ok: false
status: 403
statusText: "OK"
url: "https://.../api/2sxc/cms/edit/load?appId=2"
编辑2 在这之后我想探索,如果行为与 2sxc 内容模块相关,或者它是否与所有应用程序相关(在我的理解中,2sxc 内容模块也是一个应用程序)。我安装了“常见问题解答”应用程序,授予“注册用户”组 dnn“编辑”权限并以注册用户身份登录并按下 2scx 工具栏上的编辑图标 - 并且具有与来源中描述的相同行为 post.
但是:我得到了“FAQ”应用程序的 运行,但不是“内容”应用程序的。以下是我为“常见问题解答”应用获取 运行 的步骤:
- 点击“应用程序管理”(在 dnn 编辑操作或 2sxc 工具栏中可用)
- “功能”- 添加功能- 启用“组/角色权限”- 激活功能
- “应用程序”-“常见问题解答”(或内容除外)
- “App”-“App Permissions”(点击图标)-“创建新权限”-Identity=xx(xx=tabledbo.Roles中组的RoleId)-Grant =编辑(在我的例子中,我希望当前注册用户能够编辑项目)- 保存 (Ctrl+S)
之后我可以编辑“FAQ”模块的项目了。
默认情况下,“内容”模块在应用级别(以及视图和数据级别)禁用“应用权限”图标。有谁知道这是设计使然还是有可能激活此选项?否则我必须将我的内容视图迁移到应用程序以获得权限 运行.
编辑3 我最终将“内容”应用程序的内容迁移到新的自定义应用程序。工作量非常小,获得授予权限的可能性是值得的。
最后我会自己回答我的问题。我想“内容”应用程序不可能授予专用权限。但应用程序本身具有可能性 - 因此在应用程序内部创建内容可能是个好主意。
一些背景知识:content-app 适用于简单的内容,其行为与普通应用不同。示例:
- 添加内容应用时,对话框会要求您选择内容类型和视图
- 当您添加应用程序时,对话框会询问您选择哪个应用程序,然后是什么视图
基本上,内容应用程序有各种优化,使其更轻、更简单,但我们想防止人们“搬起石头砸自己的脚”,因为他们通常会从内容开始,然后让它变得越来越复杂(从不分离不同的关注点)并以一团糟告终。
这就是为什么内容应用有一些强制限制(比如没有应用权限)来引导人们在自己的应用中放置更复杂的功能。
现在请注意,这并不能解释您原来的问题:显然编辑权限没有按预期工作。这似乎是一个错误,而不是一个意图。如果您认为应该跟进,最好在 github.
上创建一个问题