我有一个XPiNC应用程序,由两个不同的XPage组成。 XPage设置为基于角色使用。一个角色是设置内容的人,另一个是消费者。
我的一个要求是Consumer Role希望从桌面打开NSF并让它自动打开Consumer XPage。我知道我可以设置Launch属性为消费者做这个,但这也导致内容提供者打开那个不应该发生的XPage。
如何设置它以便应用程序根据其角色打开正确的XPage?
答案 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,然后根据角色动态加载自定义控件?