Я использую MVC5 и хотел бы иметь небольшой класс, как предлагается в вопросах здесь - атрибут, который позволяет передавать несколько ролей для авторизации роли. Определение выглядит следующим образом:Пользовательский авторизованный атрибут не работает должным образом
public class AuthorizeRolesAttribute : AuthorizeAttribute
{
public AuthorizeRolesAttribute(params string[] roles)
{
Roles = string.Join(",", roles);
}
}
Использование есть (например), как это:
[AuthorizeRoles("Admin", "SuperAdmin")]
public ActionResult CompanyContacts()
{
return View();
}
Кроме того, в web.config я добавил следующую строку:
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
И еще позволяют пользователям иметь доступ к методу. Он даже игнорирует конструктор вообще. Атрибут по умолчанию работает отлично. Кажется, что я чего-то не хватает. Любой совет?
Thank's!
Вы зарегистрировали свой атрибут в атрибутах? и предоставили ли вы реализацию метода onActionExecuting в атрибуте? –
№ Причина. Я просто хочу, чтобы атрибут по умолчанию имел возможность принимать несколько ролей не как одну строку, а как параметры. Для меня все другое поведение Authorize. – Pritorian