2016-08-01 85 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上的以下帖子和答案以解决此特定问题。

希望这会有所帮助。