【问题标题】:Microsoft Dynamics 4.0 Custom ASPX Page IdentityMicrosoft Dynamics 4.0 自定义 ASPX 页面标识
【发布时间】:2011-02-27 13:22:56
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: .net dynamics-crm dynamics-crm-4


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在 SDK 中使用 Xrm 上下文

       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();
           }   }
      

      或使用网络服务(此处称为“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());
      
           }
        }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-17
        • 2012-01-23
        • 1970-01-01
        • 2010-10-01
        • 2011-12-02
        • 1970-01-01
        • 1970-01-01
        • 2018-08-05
        相关资源
        最近更新 更多