Który atrybut autoryzacji?
System.Web.Http.Authorize
System.Web.Mvc.AuthorizeSystem.Web.Http.Authorize versus System.Web.Mvc.Authorize
using System.Web.Mvc // or
using System.Web.Http
Typowy regulator
[Authorize]
public class SomeController : Controller
Mamy kontrolerów opatrzone [Authorize]
Właśnie zauważyłem, że ze względu na przy użyciu przestrzeni nazw adnotacje odnoszą się technicznie do różnych klas atrybutów.
Projekt zawiera kontrolery MVC i kontrolery WEBAPI.
Których należy użyć i dlaczego? Jakie problemy możemy napotkać, jeśli tego nie naprawię?
Czy masz odniesienie do dokumentacji, na którym opiera się? – Mike
@Mike Może to empirycznie zademonstrować, pisząc 'publiczną zapieczętowaną klasę AuthAttribute: System.Web.Mvc.AuthorizeAttribute { chronione override bool AuthorizeCore (HttpContextBase httpContext) => false; } ', umieszczając go na' ApiController' i ustawiając punkt przerwania w Visual Studio. Zauważ, że 'AuthorizeCore' nigdy nie jest wywoływane i że żądanie jest obsługiwane w miejscu, w którym zostanie odrzucone. –
Należy zauważyć, że MVC i Web API są ** niezależnymi ** frameworkami, dlatego te dwa typy nie są wymienne. Określenie "ram" oznacza, że istnieje tylko jedna struktura, która jest nieprawidłowa i wprowadzająca w błąd. – NightOwl888