Xpage身份验证

use*_*272 3 xpages

我有一个应用程序,除了一对之外,将对所有xpages进行匿名访问.我需要强制用户登录这些xpages.是使用beforepageload事件检查并以正确的方式将用户重定向到登录页面还是有更好的方法?

Mat*_*ite 10

最好的解决方案是在需要用户登录的XPage中添加ACL,然后您不依赖于自己的代码,而是让服务器为您完成工作.

要添加ACL,请转到XPage的"所有属性",然后查找"访问控制"部分.然后,您可以添加一个或多个配置来定义谁具有哪些访问权限 - 例如,Anonymous无权访问,或者组或角色中的人员具有访问权限等.

马特


Dec*_*nch 8

是的,这将是一个有效的方法,我是如何处理我自己的几个应用程序中的情况.

这是我使用的代码

if (context.getUser().getCommonName() == "Anonymous"){
   sessionScope.put("entryPage",context.getUrl().getPath() + context.getUrl().getQueryString())
   context.redirectToPage("/login.xsp");
}
Run Code Online (Sandbox Code Playgroud)

我将此设置作为一个函数,我只是从beforePageLoad事件调用.我正在重定向到另一个XPage,但您也可以重定向到database.nsf?login,它将使用服务器上的身份验证类型设置.