【问题标题】:ADX STUDIO - Set the default Homepage for specific portal userADX STUDIO - 为特定门户用户设置默认主页
【发布时间】:2017-10-02 04:45:29
【问题描述】:

我的门户中有两种用户,一种是客户用户,另一种是代理用户。 我想更改代理用户每次登录或单击网站的主页按钮时的默认主页,而不是客户的默认主页。即(代理主页) 目前,我可以通过以下代码实现这一点:

var userId = AuthenticationManager.AuthenticationResponseGrant.Identity.GetUserId();
var user = await UserManager.FindByIdAsync(userId);

var portal = PortalCrmConfigurationManager.CreatePortalContext();
var usercontext = portal.User;
var context = portal.ServiceContext;
var contact = (from c in context.CreateQuery("contact")
               where c["contactid"].Equals(userId)
               select c).First();
var isAgentUser = contact.GetAttributeValue<bool>("bh_isagentuser");

if (isAgentUser == true)
{
    return Redirect("/agent-home");
}
else
{
    return RedirectToLocal(returnUrl);
}

我想知道 ADX 工作室是否有其他解决方法来实现这一点?

【问题讨论】:

    标签: dynamics-crm microsoft-dynamics adxstudio-portals


    【解决方案1】:

    您可以根据检测到的用户类型更改主页上显示的信息,而不是重定向到其他网页。使用 Liquid 的一个简单示例是根据用户类型包含不同的 Web 模板:

    {% if user.bh_isAgentUser %}
      {% include "Agent Home" %}
    {% else %}
      {% include "Default Home" %}
    {% endif %}
    

    您可以在 Agent HomeDefault Home 网络模板中添加不同的主页呈现逻辑。

    上面的 Liquid 可以插入到主页的复制字段中,或者可以将主页更改为使用其中包含此 Liquid 的 Web 模板。这种选择将取决于需要更改的呈现网页的结构元素。

    有关更多详细信息,请参阅有关 user 对象、include 标记和 web templates 的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2012-10-27
      • 2018-12-17
      相关资源
      最近更新 更多