Пользовательские атрибуты с именованными аргументами не заполнены - PullRequest
0 голосов
/ 25 февраля 2020

Я создал пользовательский атрибут, но я хочу иметь возможность передавать ему именованные аргументы.

Вот атрибут ниже.

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
public class AnyAuthorizeAttribute : TypeFilterAttribute
{
    public string Roles { get; set; }

    public AnyAuthorizeAttribute()
        : base(typeof(AnyAuthorizeFilter))
    {
        var roles = !string.IsNullOrEmpty(Roles) ? Roles.Split(", ") : new string[0];

        Arguments = new[] { roles };
    }
}

    [HttpGet("roles/{id:int}", Name = "GetRole")]
    [AnyAuthorize(Roles = "Administrator, Super User")]
    public IActionResult Get(int id)
    {
        try
        {
            if (!_unitOfWork.Roles.Exists(id))
            {
                return BadRequest("No role exists with the id supplied");
            }

Все выглядит хорошо для меня , но каждый раз, когда я запускаю его, свойство Roles равно нулю. Любые обычные параметры, которые я использую с атрибутом, выглядят нормально.

Я использую это в asp. net ядро ​​2.2

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...