为 Genexus 中的每个角色设置默认 Web 面板

Set default web panel for every role in Genexus

我想做的是为一些具有特定角色的用户定义限制访问,我使用权限来做到这一点。用户登录成功后,我需要向具有特定角色的用户展示一个特定的网页面板,换句话说,我需要为用户角色设置一个主页。

示例:

我的项目中有两种类型的用户,Seller 和 Customer。他们每个人都有特定的角色和权限。

卖家登录后,我们要向他展示他的帐户信息,其中客户登录,我们要向他展示要购买的类别和物品。

我尝试通过 GAM 应用程序定义 Home 对象,但仍然无法正常工作。

如果您使用 GAM,在身份验证后的登录 Web 面板中,您可以使用如下内容:

&URL = GAMRepository.GetLastErrorsURL()
//If &URL.IsEmpty()
//   GAMRepository.ApplicationGoHome(GAMInternalGUIDs.AppGAMUserBackend)
//Else
//   Link(&URL)
do case
    case GamUser.CheckRoleByExternalId(!"is_seller")
        SellerHome.Link()
    case GamUser.CheckRoleByExternalId(!"is_customer")
        CustomerHome.Link()
    case GamUser.CheckRoleByExternalId(!"is_gam_administrator")
        GamHome.Link()
    otherwise
        Home.Link()
endcase
//Endif

在角色中,您必须为卖家等设置外部代码“is_seller”