首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPages getEffectiveUserName()

XPages getEffectiveUserName()
EN

Stack Overflow用户
提问于 2013-02-12 22:52:38
回答 2查看 4.1K关注 0票数 1

我使用的是一个XPage as an agent (XAgent),它对一些存储为Java设计元素的类进行SSJS调用。我希望由XPage发起的进程位于我当前登录到浏览器的用户的上下文中。然而,基于XPage上的最后一个签名,我猜一切似乎都是以我的身份运行的?

例如,在我的自定义类中,当我需要返回用户名时,下面的代码会返回我的姓名:

代码语言:javascript
复制
DominoUtils.getCurrentSession().getEffectiveUserName()

在使用老式Domino代理时,有效的用户名由代理属性中的"Run as Web User“或"Run on User of”字段决定。

在使用XPage时,是否可以实现相同的功能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-13 08:34:39

为了进行研究,您有许多移动部件:

  1. 使用session.getUserName()向XAgent (而不是您的Java代码)添加一条print语句,如果其中隐藏了一个sessionAsSigner,则将它作为参数传递给您的DominoUtils
  2. 如果1可以工作,但3不行,请考虑依赖项注入:不是从DominoUtils获取会话,而是将它作为参数从XAgent传递给Java类

让我们知道进展如何

票数 2
EN

Stack Overflow用户

发布于 2013-02-12 23:15:39

在我的场景中,我可以使用以下两种方法来解决大多数需求:

代码语言:javascript
复制
session.getEffectiveUserName()

或者:

代码语言:javascript
复制
context.getUser().getFullName()

在某些情况下,您需要将其封装为:

代码语言:javascript
复制
session.createName(string):NotesName

来获取NotesName-Object表示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14835278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档