2016-08-01 67 views
1

我如何從我的mvc 4應用程序註銷指定的用戶。我寧願用他/她的user.id註銷該用戶。註銷指定的用戶asp.net mvc

謝謝。

+0

「指定的用戶」,你的意思是當前登錄的用戶以外的用戶? –

+0

@ oj-raqueño是例如我是網站的管理員,我想註銷網站的指定用戶(成員)。 –

+2

那麼,如果你使用表單認證,你不能只是強迫他。他需要他的cookie到期。你可以做的是有一個短的cookie生活時間和鎖定該用戶(如果你使用ASP.NET身份)。 令牌的另一種方式是撤銷令牌訪問。你的認證過程是什麼? – gdyrrahitis

回答

1

那麼,根據您的意見,您的問題是關於更改/更新/添加某個人的角色,但是您希望通過將他註銷來反映此問題。 由於添加/更改,新角色不會反映到用戶的cookie中,只會在數據庫中反映出來。這就是他需要註銷並重新登錄才能進行此修改的原因。

事實上,如果你正在使用Cookie身份驗證,怎麼樣在你的Startup.Auth.cs嘗試這樣的:餅乾上面

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)) 
    } 
}); 

在代碼中使用OnValidateIdentity將驗證用戶的請求每validateInterval分鐘,所以纔會更新一次1分鐘。如果您提供TimeSpan.FromMinutes(0),則意味着每個用戶的請求都會更新cookie。

請檢查StackOverflow上的以下帖子和答案以解決此特定問題。

希望這會有所幫助。