나는 Asig.net 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 시도했지만 다시 작동하지 않았습니다. 나는 autofac을 사용하고 있는데,이 문제가 발생했는지 궁금합니다. –