Есть ли способ переопределить атрибут AllowAnonymous
? Я выполнил пользовательские разрешения, которое загружает пользовательское меню & кнопки из базы данных, как показано ниже:MVC переопределить атрибут AllowAnonymous
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new MyCustomAuthorization()); // Custom Authorization for Rights & Priveleges
}
выше работает отлично.
Теперь я хочу разрешить доступ к некоторому действию, если пользователь аутентифицирован, нет необходимости проверять авторизацию в этом случае. Пример:
[Authorize]
public class MenusAndButtonsController : BaseController
{
[Authenticated] // my custom attribute that will check if user is logged in or not
public JsonResult GetGeneralMenuAndButtons()
{
using (MealPlannerAuthorizationEntities repository = new MealPlannerAuthorizationEntities())
{
var MenusAndButtons = repository.MP_AUTH_Menus.Where(x => x.IsButton == false && x.IsListButton == false).Select(c => new { DisplayText = c.MenuName, Value = c.MenuId }).OrderBy(x => x.DisplayText).ToList();
return Json(new { Result = "OK", Options = MenusAndButtons }, JsonRequestBehavior.AllowGet);
}
}
}
Вместо AllowAnonymous
, я пытаюсь создать свой собственный пользовательский атрибут [Authenticated]
, который будет проверять, если пользователь вошел в систему или нет. Если пользователь вошел в систему, он вернет true, и GetGeneralMenuAndButtons
продолжит свою работу.