如何在从 XPage 调用的 Java Bean 中使用 SessionAsSigner?

Joh*_*ard 2 javabeans xpages xpages-ssjs

根据 Phillip Riand 的说法(参见:关于 openNTF 的讨论),这是不可能的......他们需要了解设计元素才能找出是谁签名的。因此,它仅在 SSJS 中可用。

Mar*_*ink 5

据我所知,在 Java bean 中使用sessionAsSigner对象有两种方法:

1 通过解析sessionAsSigner对象:

FacesContext context = FacesContext.getCurrentInstance();
Session sessionAsSigner = context.getApplication().getVariableResolver().
        resolveVariable(context, "sessionAsSigner");
Run Code Online (Sandbox Code Playgroud)

2 使用扩展库中com.ibm.xsp.extlib.util.ExtLibUtil类中的getCurrentSessionAsSigner()函数。

为了能够使用它(在 Java 以及 SSJS 中),您需要确保所有设计元素都由同一用户 ID 签名。如果不是这种情况,sessionAsSigner 对象将不可用(“未定义”)。