0

我添加了一个侧边栏菜单,可能有点扭曲,不知何故 abp.auth 不再工作了。

我检查了 abp.js,我发现的只是

abp.auth = abp.auth || {};
abp.auth.allPermissions = abp.auth.allPermissions || {};

那么 abp.auth 或 abp 首先从哪里获取值呢?我检查了角色应用服务,没有输入断点。那我该如何追踪呢?它是在 ABP 框架内完成的吗?如果是这样,我该如何调试模板中的 abp.dll 或任何 abp.XXX.dll?

非常感谢!

4

2 回答 2

0

abp.auth~/lib/abp-web-resources/Abp/Framework/scripts/abp.js中初始化。

默认情况下,它包含在_Layout.cshtml 中:

<environment names="Development">
    <script src="~/lib/abp-web-resources/Abp/Framework/scripts/abp.js" asp-append-version="true"></script>
</environment>

<environment names="Staging,Production">
    <script src="~/view-resources/Views/_Bundles/shared-layout.min.js" asp-append-version="true"></script>
</environment>

由于它是一个 JavaScript 库而不是.dll,因此可以在package.json中使用yarn / npm对其进行更新。

abp = abp || {}。那么右边的 abp 是从哪里来的呢?

它不一定来自任何地方。这样做是为了让您甚至可以在加载abp.jsabp之前定义属性并将其添加到对象中,这样可以避免替换它。

那么 abp.auth 从哪里获得它的价值呢?

abp.auth只是一个 JavaScript 对象。如果您指的是allPermissions属性,请参阅#2569
它填充在AuthorizationScriptManager.

如何调试这个库?

要启用调试,请更改 Visual Studio (2017+) 调试选项,如文档中的:

  • 取消选中“仅启用我的代码”
  • 勾选“启用源服务器支持”
  • 勾选“启用源链接支持”
于 2017-12-14T08:40:53.727 回答
0

成功登录后正在设置 abp.auth。它向http://mywebsite.com/AbpUserConfiguration/GetAll发出 GET 请求

AbpUserConfiguration /GetAll 操作的结果是AbpUserConfigurationDto。此结果中有Auth属性。

在您的解决方案中搜索 GetAll。您可以找到客户端代码。

于 2017-12-15T11:04:45.463 回答