2017-04-18 10 views
0

私は、Cookie認証を使用するasp.net mvc5アプリケーションを作成しています。 私のstartup.csコードは以下の通りです。CookieAuthentication - ExpireTimeSpanが終了したらログインページにリダイレクトするにはどうすればよいですか?

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = "myApplicationCookie", 
      ExpireTimeSpan = System.TimeSpan.FromMinutes(10), 
      LoginPath = new PathString("/Account/Login"), 
      LogoutPath = new PathString("/Account/LogOut") 

     }); 
    } 
} 

ExpireTimeSpanが渡された後。 10分後にページをリロードすると、アプリケーションはログインページにリダイレクトされます。しかし、もし私がajaxリクエストをしたら、何も起こらず、ログインページにもリダイレクトされません。 ExpireTimeSpanの終了後にajaxリクエストでログインページにリダイレクトするにはどうすればよいですか?助けてください。ありがとうございました。

答えて

0

セッションタイムアウトをweb.configにすることができます。 Global.asaxのファイルで プロジェクトにweb.configファイル内のコードを貼り付け

<configuration> 
    <system.web> 
    <sessionState timeout="1"></sessionState> 
    </system.web> 
</configuration> 

自動的にログインページにリダイレクトされますTIMEDOUTセッションがある場合は

void Session_Start(object sender, EventArgs e){ 
     // Code that runs when a new session is started 
     if (Session["user"] != null) 
     { 
      // Navigate to welcome page 
     } 
     else 
     { 
      // Navigate to login page 
     } 
    } 

のようなイベントを作成します。

注:タイムアウトは分単位です。

+0

私は上記のスタートアップクラスで動作しますか?私は、claimIdentityを使用して、ログインしたユーザー情報を格納しています。セッションではありません。私のシナリオではこれはうまくいくのでしょうか? – Prabesh

+0

このアプローチはセッションのみに基づいています – siva

関連する問題