ABP - abp.auth 在开始一个项目时如何被评估?

ABP - How does abp.auth being evaluated when starting a project?

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

我检查了abp.js,我只找到了

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

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

非常感谢!

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[=45 进行更新=]/npm.

abp = abp || {}. So where does the abp at the right come from?

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

Where does abp.auth get its value then?

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

how to debug this library?

要启用调试,请更改 Visual Studio (2017+) 调试选项,如 docs:

  • 取消选中 "Enable Just My Code"
  • 勾选"Enable source server support"
  • 勾选"Enable source link support"
登录成功后正在设置

abp.auth。它向 http://mywebsite.com/AbpUserConfiguration/GetAll

发出 GET 请求

AbpUserConfiguration/GetAll action is AbpUserConfigurationDto的结果。 此结果中有 Auth 属性。

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