【发布时间】:2015-12-09 11:07:05
【问题描述】:
在一个 asp.net5/mvc6 应用程序中,我使用 Azure DocumentDB 作为用户存储并使用 CookieAuthentication 对用户进行身份验证,如下所示:
List<Claim> claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name, account.UserName));
var user = new ClaimsPrincipal(new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme));
await _httpContextAccessor.HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user);
我想保留 cookie,这样用户就不必每次都登录。这现在可以正常工作。但是,当我要删除一个用户时,该用户仍将拥有 cookie 并因此可以访问该网站。
例如,我在控制器上使用:
[Authorize("PolicyName")]
策略配置如下:
services.Configure<AuthorizationOptions>(options => {
options.AddPolicy("PolicyName", policy =>
{ /* configuration */ });
});
将有多种策略,因此我正在寻找一个中心位置来进行重新身份验证。有没有办法挂钩到 Authorize 方法?
【问题讨论】:
标签: c# asp.net asp.net-mvc authentication