XPages-返回登录用户的短名称

XPages-返回登录用户的短名称,xpages,Xpages,我正在寻找一个getShortName()方法或UserName属性,它将返回使用Domino服务器进行身份验证的人的shortName/UserID。在论坛StackOverflow上搜索,除了注册类外,找不到任何此类方法 我将在下面发布我的备选方案,但如果有人有更好的方案,我很乐意听到 谢谢 Dan我的解决方案如下: var userName = @Name("[ABBREVIATE]" ,@UserName()); var shortName = @DbLookup([@DbName()[

我正在寻找一个getShortName()方法或UserName属性,它将返回使用Domino服务器进行身份验证的人的shortName/UserID。在论坛StackOverflow上搜索,除了注册类外,找不到任何此类方法

我将在下面发布我的备选方案,但如果有人有更好的方案,我很乐意听到

谢谢

Dan

我的解决方案如下:

var userName = @Name("[ABBREVIATE]" ,@UserName());
var shortName = @DbLookup([@DbName()[0],'names.nsf'],'($VIMPeople)',userName,"ShortName");
return shortName;

不确定NAB的哪个版本具有名为($NamesFieldLookup)的隐藏视图,但如果我记得的话,它将在第一个排序列中包含CN=Bugs Bunny/OU=ACME/O=COM。这将允许您跳过代码的第一步。除此之外,您不知道提供了获取短名称的方法。

您可以使用公式命令@NameLookup()从person文档返回项目。与session.evaluate()一起,您应该能够在XPages中使用它

试试这个:

session.evaluate('@NameLookup([EXHAUSTIVE];' + userName + ';"ShortName")');

免责声明:根本没有测试。

按照Per的建议使用@NameLookup。将在每个配置的任何目录中搜索。我将我的解决方案修改为:var shortName=session.evaluate(@NameLookup([详尽];\”+@UserName()+“\”;“shortName\”);短名;Frantisek,谢天谢地,我们的shortname/userid字段每人只有一个条目。