2016-09-13 11 views
2

asp.net core 1.0を使用していますが、ASP IDがあります。 Cookieを使用してCookieの有効期限を設定して、ページが20分間のアイドル状態になったときにログインページにリダイレクトするようにします。現在はありません。 マイセットアップ:時間などのためにアイドル座っている間、それは、ログインページに再ルーティングするように、私はそれを設定するにはどうすればよいCookie認証の有効期限がログインページに戻ってこない

services.AddIdentity<CRAMSUser, IdentityRole>(config => 
     { 
      config.User.RequireUniqueEmail = true; 
      config.Password.RequiredLength = 8; 
      config.Cookies.ApplicationCookie.LoginPath = "/Auth/Login"; 
      config.Cookies.ApplicationCookie.Events = new CookieAuthenticationEvents() 
      { 
       OnRedirectToLogin = ctx => 
       { 
        if (ctx.Request.Path.StartsWithSegments("/api") && 
        ctx.Response.StatusCode == (int)HttpStatusCode.OK) 
        { 
         ctx.Response.StatusCode = (int)HttpStatusCode.Unauthorized; 
        } 
        else 
        { 
         ctx.Response.Redirect(ctx.RedirectUri); 
        } 
        return Task.FromResult(0); 
       } 
      }; 
     }) 
      .AddEntityFrameworkStores<CRAMSContext>() 
      .AddDefaultTokenProviders(); 

app.UseIdentity(); 

はとしてのアイデンティティを追加しますか?

+0

リルートでは、ユーザーは何もしないで、または新しいリクエストを送信することなく、魔法を意味しますか? – blowdart

+0

@blowdart、魔法やセッションのタイムアウトが検出された、または15分の休止を設定することができます。たとえば、私は20分以上アイドル状態のページに座り、認証はログアウトしますが、ページは同じページに残ります。それから私のコンソールで、それは間違いを起こし、無許可と言うでしょう。同じページに留まらず、「セッションがタイムアウトしました。再度ログインしてください」というページにまっすぐに移動することをお勧めします。 – epv

+0

魔法は動作しません。いくつかのjavascriptでURLをポーリングする必要があります。クッキーの有効期限が切れると、403が検出され、次にjavascriptでリダイレクトできます。 – blowdart

答えて

2

使用は有効期限をスライディング:クッキーはこのように動作上の有効期限をスライディングdocs

app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
    SlidingExpiration = true, 
    ExpireTimeSpan = TimeSpan.FromMinutes(60) 
}); 

参照:認証では、絶対的な有効期限が設定されている(つまり今+ 60分)。その後のリクエストでは、有効期限を新しいNow + 60分にリセットする必要がありますが、この更新は帯域幅の浪費になるため、各リクエストでは行われません。そのスライド有効期限のX%がクッキーを過ぎた後にのみ、新しい有効期限が更新されます。ドキュメントによると、ASP.NET XはExpirationTimeSpan(30分)の50%です。

+0

タイムアウト時間を60分に延長するだけですか? – epv

+0

クッキータイムアウトを60分に設定します。ユーザーが30分以上後に別の要求を行うと、Cookieとタイムアウトが更新されます。 –

+0

偉大な、私は午前中に何が起こるかを見るために夜間テストを残します。 – epv

関連する問題