Заявки, добавленные в Controller, не найдены в следующем ActionFilter
Когда я добавляю претензию к личности в контроллере на
HttpContext.User.Identities.First(
i => i.AuthenticationType == IdentityConstants.ApplicationScheme)
с
Addclaim(new Claim(type, value))
и попытаться получить это утверждение из ActionExecutingContext в моем пользовательском атрибуте actionfilteratt при следующем запросе, почему его там нет? Я использую код ниже для доступа к претензиям:
[AttributeUsage(AttributeTargets.Method)]
public class ClaimActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var claims = context.HttpContext.User.Claims;
base.OnActionExecuting(context);
}
}
Что мне не хватает?
2 ответа
Претензии сохраняются через cookie-файл auth, поэтому они "обновляются" только при входе в систему. Если вы добавляете или обновляете претензию, вам необходимо впоследствии выйти из системы. Затем вы можете выбрать автоматическую регистрацию или принудительную повторную аутентификацию вручную.
Не забудьте добавить претензии в личность до входа в систему.