这很奇怪。
我已经以Admin Mustermann身份登录,但是当我尝试确定用户的角色时,我什么都没得到:
current user:
<xp:text
escape="true"
id="computedField4"
value="#{javascript:context.getUser()}">
</xp:text>
roles:
<xp:text
escape="true"
id="computedField5"
value="#{javascript:context.getUser().getRoles()}">
</xp:text>
如果我打开我的XPage调试工具栏,它会告诉我我是匿名的。
这是我的ACL,证实了Admin Mustermann至少应该扮演三个角色:
我很难过。
答案 0 :(得分:6)
我更愿意使用database.queryAccessRoles(session.getEffectiveUserName())
而不是使用上下文。
我创建了一个bean,用于获取大量ACL和用户信息作为代码段:http://openntf.org/XSnippets.nsf/snippet.xsp?id=sysinfouser-acl-info-custom-control-java-bean
答案 1 :(得分:1)
奇怪的是,@ UserRoles更可靠。请尝试使用此代码:
roles:
<xp:text
escape="true"
id="computedField5"
value="#{javascript:session.evaluate("@UserRoles");}">
</xp:text>
我们遇到了context.getUser()。getRoles()在未连接时在本地Notes客户端中使用XPage时出现问题。您可以通过某种方式重新配置您的位置文档以避免这种情况,但我从未想过这一点。在PMR期间建议使用旧的公式语言,即使像我这样的硬币配置错误也可以使用。