[Обратите внимание, что этот вопрос касается DotNet Core 1.1]
У меня есть метод контроллера в моем классе ItemsController
, описанный ниже, чтобы ограничить возможность доступа к методу для пользователей в группе администраторов:
[Authorize(Roles = @"MYDOMAIN\ThisApplicationAdmins")]
[HttpDelete("/items/{itemsName}")]
public ActionResult DeleteItem(string itemName)
{
// Dangerous code here.
}
Это работает правильно.
Кроме того, я хотел бы удалить красный X в приложении, которое вызывает этот метод контроллера для пользователей, которые не могут получить доступ к этому методу.Я знаю, что могу проверить, находится ли пользователь в правильной группе AD, но это требует от меня дублирования логики авторизации и предоставляет мне возможность обновления атрибута, но не проверки пользовательского интерфейса.
Существует ли способ запросить ядро ASP DotNet, чтобы спросить "Имеет ли пользователь X право доступа к методу ItemsController.DeleteItem()
?"и ответили на этот вопрос тем же промежуточным программным обеспечением, которое отвечает за обработку атрибута?