3

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

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

4

1 回答 1

0

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

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

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

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

有关更多详细信息,请参阅有关用户对象、包含标记和Web 模板的文档。

于 2019-01-25T17:13:16.067 回答