Microsoft Dynamics 4.0 自定义 ASPX 页面标识

发布于 2024-10-19 13:55:41 字数 167 浏览 2 评论 0原文

对于位于 ISV 目录中的自定义 ASPX 页面,从代码隐藏中获取当前登录的 MS Dynamics 用户的身份的建议方法是什么?

执行此操作的方法必须不知道 Dynamics 是否使用 AD/NTLM 身份验证或其他身份验证机制,并且不得要求启用模拟或更改 web.config。

谢谢

What is the recommended approach for obtaining the identity of the currently logged in MS Dynamics user from code behind for a custom ASPX page that lives in the ISV directory?

The approach for doing this must be agnostic of whether Dynamics is using AD/NTLM authentication or other authentication mechanisms and must not require enabling impersonation or changing the web.config.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

从﹋此江山别 2024-10-26 13:55:41

您可以通过执行 从 CRM 数据库获取 systemuserid通过 CRM Web 服务 WhoAmIRequest,然后通过 crmservice.Retrieve() 获取 systemuser 记录。只要用户分配了任何 CRM 安全角色,WhoAmIRequest 和对其自己的 systemuser 记录的读取访问权限就应该始终有效。

You can get the systemuserid from the CRM database by executing a WhoAmIRequest through the CRM web service and then get the systemuser record via crmservice.Retrieve(). As long as the user has any CRM security roles assigned at all, WhoAmIRequest and read access to their own systemuser record should always work.

羁〃客ぐ 2024-10-26 13:55:41

将 Xrm 上下文与 SDK

 public Xrm.systemuser CurrentUser   {
     get
     {
        var context = new XrmDataContext();

        var reponse = context.UsingService(
               service => (WhoAmIResponse)service.Execute(new WhoAmIRequest()));


        return (from user in context.systemusers
                where user.systemuserid == reponse.UserId
                select user).Single();
     }   }

或 Web 服务一起使用(此处称为“crm”)

  public systemuser CurrentUser
  {
     get
     {
        WhoAmIRequest userRequest = new WhoAmIRequest();
        WhoAmIResponse current = (WhoAmIResponse)crm.Execute(userRequest);
        return (systemuser)crm.Retrieve(EntityName.systemuser.ToString(), current.UserId, new AllColumns());

     }
  }

using the Xrm Context with the SDK

 public Xrm.systemuser CurrentUser   {
     get
     {
        var context = new XrmDataContext();

        var reponse = context.UsingService(
               service => (WhoAmIResponse)service.Execute(new WhoAmIRequest()));


        return (from user in context.systemusers
                where user.systemuserid == reponse.UserId
                select user).Single();
     }   }

or with the web services (called 'crm' here)

  public systemuser CurrentUser
  {
     get
     {
        WhoAmIRequest userRequest = new WhoAmIRequest();
        WhoAmIResponse current = (WhoAmIResponse)crm.Execute(userRequest);
        return (systemuser)crm.Retrieve(EntityName.systemuser.ToString(), current.UserId, new AllColumns());

     }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文