ADX STUDIO - 为特定门户网站用户设置默认主页

时间:2017-05-04 06:35:13

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

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

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工作室是否有另一种解决方法可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

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

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

您将在Agent HomeDefault Home每个Web模板中添加不同的主页呈现逻辑。

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

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

相关问题