2016-08-01 4 views
1

내 MVC 4 응용 프로그램에서 사용자를 로그 아웃하는 방법. 나는 그/그녀의 user.id와 그 사용자를 로그 아웃하는 것이 아니라 ...지정한 사용자 로그 아웃 asp.net mvc

고마워.

+0

"지정된 사용자"는 현재 로그인 한 사용자가 아닌 사용자를 의미합니까? –

+0

예를 들어 @ oj-raqueño 예 웹 사이트의 관리자이고 웹 사이트의 지정된 사용자 (회원)를 로그 아웃하려고합니다. –

+2

폼 인증을 사용하면 강제로 그를 강제로 해제 할 수 없습니다. 쿠키 만료가 필요합니다. 할 수있는 일은 쿠키 수명이 짧고 사용자를 잠그는 것입니다 (ASP.NET ID를 사용하는 경우). 토큰을 사용하는 또 다른 방법은 토큰 액세스를 취소하는 것입니다. 인증 과정은 무엇입니까? – gdyrrahitis

답변

1

글쎄, 귀하의 의견을 바탕으로, 귀하의 문제는 사람의 역할을 변경/업데이트/추가하는 것이지만, 그를 로그 아웃하여 반영하고 싶습니다. 추가/변경으로 인해 새 역할은 사용자 쿠키에만 반영되며 데이터베이스에서만 반영됩니다. 그것이 그가 수정을하기 위해 로그 아웃하고 다시 로그인해야하는 이유입니다. 당신이 쿠키 인증을 사용하는 경우

기본적으로, 무엇을 당신의 Startup.Auth.cs이 시도에 대해 : 쿠키 위의 코드에서, 그래서 사용자의 요청마다 validateInterval 분의 유효성을 검사 할 OnValidateIdentity를 사용

app.UseCookieAuthentication(new CookieAuthenticationOptions { 
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
    LoginPath = new PathString("/Account/Login"), 
    Provider = new CookieAuthenticationProvider { 
     // Enables the application to validate the security stamp when the user logs in. 
     // This is a security feature which is used when you change a password or add an external login to your account. 
     OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
      validateInterval: TimeSpan.FromMinutes(1), 
      regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) 
    } 
}); 

업데이트됩니다 모든 1 분. TimeSpan.FromMinutes(0)을 입력하면 각 사용자의 요청에 따라 쿠키가 업데이트됩니다.

이 특정 문제를 해결하려면 StackOverflow에서 다음 게시물 및 답변을 확인하십시오. ASP.NET Identity, add another user to role instantly (they don't have to log out and in again)

  • What is ASP.NET Identity's IUserSecurityStampStore<TUser> interface?
  • 이 도움이 될 것입니다 희망 MVC 5 AddToRole requires logout before it works?

    • .