Заявки, добавленные в 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, поэтому они "обновляются" только при входе в систему. Если вы добавляете или обновляете претензию, вам необходимо впоследствии выйти из системы. Затем вы можете выбрать автоматическую регистрацию или принудительную повторную аутентификацию вручную.

Не забудьте добавить претензии в личность до входа в систему.

Другие вопросы по тегам