c# - Securing WebAPI with [Authorize] attribute vs. User.Identiy.IsAuthenticated -


i have webapi controller requires users authenticated , i'm using ms identity 2.0 authentication. controller looks this:

[route("myroute")] [authorize] [httppost] public httpresponsemessage post([frombody] string value) {   if (user.identity.isauthenticated == true)   {      ....    }   else   {       return new httpresponsemessage(system.net.httpstatuscode.forbidden);   }  

if remove 1 of these options @ time, in both cases, when unauthorized user calls controller, returns forbidden response. what's difference between these 2 options , there 1 that's better other?

thanks.

with [authorize] attribute, authorization logic can overridden filters , located @ central location in code.

the

if (user.identity.isauthenticated == true) {    ....  } else {     return new httpresponsemessage(system.net.httpstatuscode.forbidden); } 

basically same default [authorize] functionality, you'll repeating on , over.

a technical detail though, authorization filters [authorize] higher in pipeline, forbidden there more efficient server.

see: http://www.dotnet-tricks.com/tutorial/mvc/lyhk270114-detailed-asp.net-mvc-pipeline.html


Comments

Popular posts from this blog

how to proxy from https to http with lighttpd -

android - Automated my builds -

python - Flask migration error -