MSAL.NET(权限设置未向具有 CLSID 的 COM 服务器应用程序授予本地激活权限)

问题描述 投票:0回答:2

我正在我的 asp.net core api 上实现 MSAL.NET。

下面是我的示例代码。当我在本地计算机上运行它时,它工作得非常好。从 MSAL 弹出窗口登录。

var app = PublicClientApplicationBuilder.Create(clientId)
  .WithDefaultRedirectUri()
  .WithTenantId(tenantId)
  .Build();

var result = await app.AcquireTokenInteractive(scopes).ExecuteAsync();

当我将其部署在 Azure 虚拟机上时。来自 MSAL 的登录不会弹出,并且始终处于待处理状态。我检查事件日志,它给了我以下错误日志:

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{3480A401-BDE9-4407-BC02-798A866A****}
 and APPID
{30AD8C8E-AE85-42FA-B9E8-7E99E3DF****}
 to the user IIS APPPOOL\DefaultAppPool SID (S-1-5-82-3713467212-4047885013-3661040889-683609825-2140) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

enter image description here

知道我应该做什么吗?

.net azure-virtual-machine azure-ad-msal azure-virtual-network msal.js
2个回答
0
投票

尝试使用此解决方案

1) 以管理员身份打开注册表编辑器,然后导航至 HKEY_CLASSES_ROOT\CLSID 或 APP ID。有 APPID 作为值。记住应用程序名称,您可以在数据栏中看到,相应的名称栏显示(默认)。

2) 在左侧窗格中: 右键单击APPID键y并选择权限

enter image description here

3)权限窗口中,单击高级。 单击更改并输入您的管理员帐户。然后点击确定

enter image description here

4)双击打开管理员条目。选择完全控制复选框以向管理员授予完全权限,然后按确定。

enter image description here

5)然后修改COM Server应用程序的权限。打开组件服务同时打开dcomcnfg

6) 展开组件服务 -> 计算机 -> 我的电脑 -> DCOM 配置。从视图菜单中选择详细信息

7) 右键单击 APPID 名称(例如本例中的“PerAppRuntimeBroker”)并选择 Properties

enter image description here

8) 选择安全选项卡,单击编辑启动和激活权限

enter image description here

9) 单击适用于您的名称,然后单击相应的权限。

更多详情请参阅此文档:

  1. https://www.wintips.org/fix-application-specific-permission-settings-do-not-grant-local-activation-permission-for-com-server-application/#image

  2. 应用程序特定的权限设置未授予本地激活权限


0
投票

您能找到解决这个问题的方法吗? 我现在也遇到同样的事情。

© www.soinside.com 2019 - 2024. All rights reserved.