Я думал о том, как правильно защитить действие JsonResult с помощью пользовательского атрибута, вместо того, чтобы делать что-то подобное для каждого действия, как, например, сказать здесь ASP.NET MVC JsonResult и AuthorizeAttribute
if (!User.Identity.IsAuthenticated)
return Json("Need to login");
Но вопрос в том, как мне создать такой атрибут, который бы возвращал Json.
Итак, я начал с этого:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class JsonAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null)
{
throw new ArgumentNullException("httpContext");
}
IPrincipal user = httpContext.User;
if (!user.Identity.IsAuthenticated)
{
//?
}
//Need to return json somehow ?
}
}
Как мне вернуть результат json из такого атрибута? есть идеи?