私はユーザーを認証するためにAsp.net Identityを使用しています。私は管理者側から任意のユーザーをロックアウトしようとしています。しかし、私がオンラインのユーザーをロックアウトすると、ログアウトしませんでした。私は自分の問題について多くのコメントを読んだが、すべてがうまくいかなかった。私はUserManager.UpdateSecurityStampを試してユーザーをログアウトさせましたが、うまくいきませんでした。 ロックアウトするとすぐにユーザーをログアウトできますか?Asp.net Identity logout他のユーザー
public ActionResult LockUser(string userId)
{
_userManager.SetLockoutEnabled(userId, true);
_userManager.SetLockoutEndDate(userId,DateTime.Today.AddYears(999));
var user = _userManager.FindById(userId);
_userManager.UpdateSecurityStamp(userId);
return RedirectToAction("UserDetail",new { userId });
}
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/UnAuthorize/Index"),
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<AppUserManager, User>(
validateInterval: TimeSpan.FromMinutes(1),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
:あなたは
は、この登録を持っていることを確認し
Startup.Auth.cs
。しかしこれは、更新セキュリティースタンプを呼び出した後、ユーザーがシステムを使用するための分窓を提供します。 'SecurityStampValidator'で' validateInterval'を0に変更してみてください。 – trailmaxvalidateInterval = 0を試しましたが、もう一度動作しませんでした。私はオートファックを使用していますが、この問題が起きているかどうかは疑問です。 –