2017-05-04 6 views
0

Javaを使用してWebアプリケーションを作成していて、セッションで問題が発生しています。一つのタブ
Java Webアプリケーションのログインページを呼び出す際の無限ループ

  • オープン同じブラウザを使用して別のタブに同じWebアプリケーションの同じログインページ上のWebアプリの

    1. オープンログインページ:下の次のシナリオです。

    2番目の試みでは、無限ループが発生し、Webアプリケーションのログインページを開くことができないという問題が発生しました。 2番目のオプションのもう1つのシナリオは、Webアプリケーションのログインページを開いて閉じてからもう一度開くことです。まだ無限ループがあり、ログインページが正常に正常に表示されません。

    私は同じ問題を抱えていますか?

    ありがとうございました!

  • +0

    次に、あなたは、このようなページを訪問しようとするときに、セッションに格納された値を使用することができます。 – Akshay

    +0

    はい、私はこれを遭遇しました。これは、同じページにすぐに転送されるページに着陸することによって引き起こされる可能性があります。次に、同じページを無限に読み込むことになります。ただし、最良の結果を得るためにコードと出力を追加してください。 –

    +0

    こんにちは、http://collabedit.com/kgavdをご覧ください。 –

    答えて

    0

    ログインを必要としないページのリストにログインページを含める必要があります。あなたはあなたのWebアプリケーションの設定でそれを行う必要があります。

    0

    これは役に立たないかもしれませんが、セッションを使用してユーザーがログインしているかどうかを判断することをお勧めします.SessionHelperクラスを作成できます。

    public class SessionHelper { 
    
        public SessionHelper() { 
        } 
    
        public static Boolean isLoggedIn() { 
         return (Boolean) UI.getCurrent().getSession().getAttribute("loggedOn"); 
        } 
    
        public static void setLoggedIn(boolean loggedOn){ 
         UI.getCurrent().getSession().setAttribute("loggedOn",loggedOn); 
        } 
    
        public static void setLoggedIn(boolean loggedOn){ 
         UI.getCurrent().getSession().setAttribute("loggedOn",loggedOn); 
        } 
    
        public static void logIn(){ 
         setLoggedIn(true); 
        } 
    
        public static void logOut(){ 
         setLoggedIn(false); 
        } 
        //add other relevant methods here. 
    } 
    

    がSessionHelperをクラスは、ユーザーがログインしているかどうかを判断するために使用されますSessionHelper.java

    。あなたが正しいの詳細と、ログアウトしてログイン時にログインを()を使用することができます() 「ログアウト」をクリックすると私たちはあなたを助けることができるようにあなたのコードを投稿

    //(just a pseudocode) 
    if SessionHelper.isLoggedIn(){ 
        let_the_user_visit_the_page. use_the_details_in_session_helper_ 
    }else{ 
        ask_the_user_to_log_in 
    } 
    
    関連する問題