在不使用OpenNTF Domino API的情况下使用重定向到XPages登录代码段

在不使用OpenNTF Domino API的情况下使用重定向到XPages登录代码段,xpages,Xpages,我试图在我的XPages应用程序中实现Paul Withers的重定向到XPages登录代码段 他的代码使用的是OpenNTF Domino API,不幸的是,由于公司的政策,我无法在生产服务器上使用该API。因此,我尝试使用lotus.dominoapi替换第89行 第89行: if(!Factory.getSession().getEffectiveUserName().equalsIgnoreCase(“匿名”)){ 使用lotus.domino API创建会话需要凭据,因此,如果不使用

我试图在我的XPages应用程序中实现Paul Withers的重定向到XPages登录代码段

他的代码使用的是OpenNTF Domino API,不幸的是,由于公司的政策,我无法在生产服务器上使用该API。因此,我尝试使用lotus.dominoapi替换第89行

第89行:

if(!Factory.getSession().getEffectiveUserName().equalsIgnoreCase(“匿名”)){


使用lotus.domino API创建会话需要凭据,因此,如果不使用OpenNTF domino API,如何检查用户是否匿名?

请查看几个XPages项目中使用的JSFUtil。使用JSFUtil,您可以轻松找到如下有效用户名:

JSFUtil.getSession().getEffectiveUserName();
JSFUtil中的以下帮助程序方法用于此目的:

public static Session getSession() {
    return (Session) resolveVariable("session");
}

public static Object resolveVariable(String variable) {
    return FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(), variable);
}
更新:正如Paul Withers所指出的,您也可以使用XPages扩展库中的ExtLibUtil来实现这一点(无需使用JSFUtil):


JSFUtil
的一个很好的开始是Tim Tripcony的版本。还有很多其他的添加,但这是一个很好的开始,特别是如果你想定义自己的定制。感谢@ericmcormick的链接据我所知,所有的JSFUtil方法现在都可以在ExtLibUtil中使用,我建议你唱那首歌。
ExtLibUtil.getCurrentSession().getEffectiveUserName();