我的门户网站中有两种用户,一种是客户用户,另一种是代理用户。 我想在每次登录时更改代理用户的默认主页,或者点击网站的主页按钮而不是客户的默认主页。(代理主页) 目前,我通过以下代码实现了这一目标:
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工作室是否有另一种解决方法可以实现这一目标?
答案 0 :(得分:0)
您可以根据检测到的用户类型来更改显示在主页上的信息,而不是重定向到其他网页。使用Liquid的一个简单示例是根据用户类型包括不同的Web模板:
{% if user.bh_isAgentUser %}
{% include "Agent Home" %}
{% else %}
{% include "Default Home" %}
{% endif %}
您将在Agent Home
和Default Home
每个Web模板中添加不同的主页呈现逻辑。
可以将上述Liquid插入到主页的复制字段中,或者可以将主页更改为使用内部带有Liquid的Web模板。这种选择取决于需要更改的呈现网页的结构元素。
有关更多详细信息,请参见user对象,include标签和web templates的文档。