在XPiNC应用程序中,如何基于角色启动一个XPage而另一个XPage

时间:2013-07-31 14:49:06

标签: xpages xpinc

我有一个XPiNC应用程序,由两个不同的XPage组成。 XPage设置为基于角色使用。一个角色是设置内容的人,另一个是消费者。

我的一个要求是Consumer Role希望从桌面打开NSF并让它自动打开Consumer XPage。我知道我可以设置Launch属性为消费者做这个,但这也导致内容提供者打开那个不应该发生的XPage。

如何设置它以便应用程序根据其角色打开正确的XPage?

3 个答案:

答案 0 :(得分:4)

包含页面组件(<xp:include />)支持可以计算的pageName属性。如果您将启动页面设置为仅包含<xp:include />的XPage,并根据用户角色(例如pageName)计算context.getUser().getRoles().contains("[Consumer]") ? "/consumer.xsp" : "/index.xsp",那么用户实际看到的将是角色 - 依赖

答案 1 :(得分:3)

另一种方法是使用第三个页面作为启动页面。此页面只有一个beforePageLoads事件,用于查看用户角色,然后执行context.redirectToPage("/otherpage.xsp"),具体取决于检测到的角色。

答案 2 :(得分:0)

我知道这已得到回答,但为了我的利益。您是否可以拥有1个xpage,然后根据角色动态加载自定义控件?