私は、私のアプリの承認を制御するためにAsp.Net Identityを使用しています。これを行う必要があります:ユーザーが30分以内に操作しない場合は、ログインページにジャンプします。彼はログインは "isPersistent"チェックボックスを選択しません。 「isPersistent」チェックボックスをオンにした場合は、Cookieの有効期限を14日間設定します。 は私が変更することでこれを実行しようと、このようなStarup.Auth.cs:asp.netアイデンティティクッキーの期限切れ時間
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
SlidingExpiration = true,
CookieName = WebHelpers.ConstStrings.AUTHCOOKIESNAME
});
}
と、このようなサインインのコード:
private async Task SignInAsync(User user, bool isPersistent)
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
if (isPersistent)
{
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
else
{
AuthenticationManager.SignIn(new AuthenticationProperties() { ExpiresUtc = new DateTimeOffset(DateTime.UtcNow.AddMinutes(30)) }, identity);
}
}
しかし、私は、ユーザーがisPersistentチェックボックスを選択しないときことがわかりましたクッキーの有効期限はすでに 'セッション'で、現在の時間には30分を加算したものではありません。
クッキーの状態の後のようなコードなので、 '私を覚えて' のチェックボックスができていない作品を使用しています。:(。
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
ExpireTimeSpan = TimeSpan.FromMinutes(30),
SlidingExpiration = true,
CookieName = WebHelpers.ConstStrings.AUTHCOOKIESNAME
});
パーフェクト、私はあなたのコードを使用し、上記の機能を達成する、ありがとう。また、Owinを2.1.0から3.0.1にアップグレードしました。 –
ありがとう、私に明確なものを作った – Janiiik
ありがとう、あなたのコードと説明は完全に動作します。 –