我在glassfish-4中有大约3个应用程序使用SingleSignOn来保证安全性,第4个应用程序用于访问控制'所有应用程序的所有用户都登录并重定向到用户可以访问的任何应用程序。到目前为止,我还需要添加第5个应用程序。而第5个应用程序拒绝与其他人合作。 这是我在所有应用中首先使用的代码片段:
@Named
@SessionScoped
public class SecurityController
// unnecessary codes ommitted
String email = FacesContext.getCurrentInstance().getExternalContext().getRemoteUser();
if(email==null){
FacesContext.getCurrentInstance().getExternalContext()
.redirect("http://localhost:8080/AccessControl/login.xhtml")
}
这在前3个应用程序中一直在为我工作,但在最后一个应用程序中无法工作。使用带有primefaces 5.0的标准Java EE 6。
以下是我得到的错误:
Warning: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at com.sun.faces.context.flash.ELFlash.doLastPhaseActions(ELFlash.java:644)
at com.sun.faces.context.flash.ELFlash.doPostPhaseActions(ELFlash.java:582)
at com.sun.faces.context.ExternalContextImpl.doLastPhaseActions(ExternalContextImpl.java:1081)
at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:643)
任何建议都会受到高度赞赏,因为这会拖延很长时间的生产。谢谢