XPages:context.getUser().getRoles() 偶尔工作
XPages: context.getUser().getRoles() working sporadically
这很奇怪。
我以 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>
如果我打开我的 XPages 调试工具栏,它会告诉我我是匿名的。
这是我的 ACL,它确认 Admin Mustermann 应该至少有三个角色:
我被难住了。
我宁愿使用 database.queryAccessRoles(session.getEffectiveUserName())
而不是使用上下文。
我创建了一个用于获取大量 ACL 和用户信息的 bean 片段:http://openntf.org/XSnippets.nsf/snippet.xsp?id=sysinfouser-acl-info-custom-control-java-bean
奇怪的是,@UserRoles 更可靠。试试改用这个:
roles:
<xp:text
escape="true"
id="computedField5"
value="#{javascript:session.evaluate("@UserRoles");}">
</xp:text>
在未断开连接的情况下,在本地的 Notes 客户端中使用 XPage 时,我们遇到了 context.getUser().getRoles() 失败的问题。您可以通过某种方式重新配置您的位置文档来避免这种情况,但我从来没有想到这一点。在 PMR 期间建议使用旧公式语言的东西,即使组合配置像我的一样是错误的,它仍然有效。
这很奇怪。
我以 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>
如果我打开我的 XPages 调试工具栏,它会告诉我我是匿名的。
这是我的 ACL,它确认 Admin Mustermann 应该至少有三个角色:
我被难住了。
我宁愿使用 database.queryAccessRoles(session.getEffectiveUserName())
而不是使用上下文。
我创建了一个用于获取大量 ACL 和用户信息的 bean 片段:http://openntf.org/XSnippets.nsf/snippet.xsp?id=sysinfouser-acl-info-custom-control-java-bean
奇怪的是,@UserRoles 更可靠。试试改用这个:
roles:
<xp:text
escape="true"
id="computedField5"
value="#{javascript:session.evaluate("@UserRoles");}">
</xp:text>
在未断开连接的情况下,在本地的 Notes 客户端中使用 XPage 时,我们遇到了 context.getUser().getRoles() 失败的问题。您可以通过某种方式重新配置您的位置文档来避免这种情况,但我从来没有想到这一点。在 PMR 期间建议使用旧公式语言的东西,即使组合配置像我的一样是错误的,它仍然有效。