0

セキュリティのためにSingleSignOnを使用するglassfish-4には約3つのアプリがあり、すべてのアプリのすべてのユーザーがログインしてユーザーがアクセスできるアプリにリダイレクトされる「アクセス制御」用の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 つのアプリすべてで機能していましたが、最後のアプリでは機能しませんでした。標準のJava EE 6とprimefaces 5.0を使用しています。

ここに私が得るエラーがあります:

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)

これにより本番環境への長い移行が遅れているため、ご提案をいただければ幸いです。ありがとう

4

0 に答える 0