0
我使用以下代碼更新我的Web應用程序中用戶的聲明。但是,要更新此用戶的聲明/ Cookie,我想強制他再次登錄。所以基本上我想在更新索賠後過期他的cookie。任何想法如何做到這一點?更新遠程用戶聲明
await _signInManager.RefreshSignInAsync(user);是我嘗試的第一件事,但因爲我正在更新另一個用戶的聲明而失敗:)
我發現的所有其他示例都與RefreshSignInAsync差不多,並且不處理我正在更新的事實另一個用戶的聲明。
public async Task<IActionResult> AddClaimPost(string id)
{
var user = _context.ApplicationUser
.SingleOrDefault(m => m.Id == id);
foreach(var item in Request.Form)
{
if (item.Key.Contains("Claim"))
{
if (item.Value.Contains("true"))
{
if (!User.HasClaim(item.Key, item.Key))
{
var result = await _userManager.AddClaimAsync(user, new Claim(item.Key, item.Key));
}
}
else
{
var result2 = await _userManager.RemoveClaimAsync(user, new Claim(item.Key, item.Key));
}
}
}
await _signInManager.RefreshSignInAsync(user);
return RedirectToAction("Overview");
}