gpt4 book ai didi

c# - 如何以通过 AAD 进行身份验证的 ASP.NET MVC 站点中的登录用户身份查询 Dynamics 365 CRM?

转载 作者:行者123 更新时间:2023-12-02 23:16:17 25 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 网站。在本地,当部署到 Azure 时,它​​会使用 Azure Active Directory 对我们组织中的用户进行身份验证。经过身份验证后,User.IdentitySystem.Security.Claims.ClaimsIdentity

我可以通过将用户名和密码嵌入连接字符串并使用 Microsoft.Xrm.Tooling.Connector.CrmServiceClient 命名空间来查询 Dynamics CRM(托管在云中,因此 Dynamics 365 CRM 在线)。连接字符串如下所示:

"Url=https://organization.crm.dynamics.com;[email protected]; Password=passwordhere;authtype=Office365"

...但我想避免创建应用程序用户帐户,并且我更愿意使用环境安全身份作为经过身份验证的用户连接到 CRM。我怎样才能做到这一点?我是否使用了错误的 SDK 或包?我很难找到适合程序员而不是 IT 配置的现代示例或文档。

在 Azure 中注册网站时,我指出用户需要授予权限才能代表他们与 Dynamics CRM 交互,并且在登录时提示我需要此权限,但作为程序员,我不确定如何实际使用此权限。

最佳答案

我建议您使用 CRM REST Web api 以及 header CallerObjectId(用于模拟),它是当前登录用户 Azure AD 对象 ID 的 guid。这将确保 api 调用是在用户上下文中进行的。当然,您必须在 MVC 网站中使用 AAD 质询/SSO 和/或图形 api 捕获当前的 AAD 用户 GUID。

负载示例:

POST [Organization URI]/api/data/v9.0/accounts HTTP/1.1  
CallerObjectId: e39c5d16-675b-48d1-8e67-667427e9c084
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{"name":"Sample Account created using impersonation"}

Read more

您仍然必须使用应用程序用户来生成 token 并访问 Web api。

关于c# - 如何以通过 AAD 进行身份验证的 ASP.NET MVC 站点中的登录用户身份查询 Dynamics 365 CRM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65313201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com