<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1472212801593_13794">Hi,</div><div id="yui_3_16_0_ym19_1_1472212801593_13794"><br></div><div id="yui_3_16_0_ym19_1_1472212801593_13981">I have a resource representation in a REST service. The response content is same for all
users. But the response should be accessed only by authorized
InventoryAuditors.<o:p id="yui_3_16_0_ym19_1_1472212801593_13982"></o:p></div><div id="yui_3_16_0_ym19_1_1472212801593_13983"><o:p id="yui_3_16_0_ym19_1_1472212801593_13984"> </o:p></div><div style="mso-list:l0 level1 lfo1" id="yui_3_16_0_ym19_1_1472212801593_13985"><!--[if !supportLists]-->1.<span style="font-variant-numeric: normal; font-stretch: normal; font-size: 7pt; font-family: "Times New Roman";" id="yui_3_16_0_ym19_1_1472212801593_13986">
</span><!--[endif]-->How should be the response headers set to leverage
caching in Squid (as a forward proxy)?<o:p id="yui_3_16_0_ym19_1_1472212801593_13987"></o:p></div><div style="mso-list:l0 level1 lfo1" id="yui_3_16_0_ym19_1_1472212801593_13988"><!--[if !supportLists]-->2.<span style="font-variant-numeric: normal; font-stretch: normal; font-size: 7pt; font-family: "Times New Roman";" id="yui_3_16_0_ym19_1_1472212801593_13989">
</span><!--[endif]-->How Squid will validate that the requested user
is an authorized InventoryAuditor, while serving the response from cache?<o:p id="yui_3_16_0_ym19_1_1472212801593_13990"></o:p></div><div id="yui_3_16_0_ym19_1_1472212801593_13991"><o:p id="yui_3_16_0_ym19_1_1472212801593_13992"> </o:p></div><div id="yui_3_16_0_ym19_1_1472212801593_13993"><o:p id="yui_3_16_0_ym19_1_1472212801593_13994"> </o:p></div><div id="yui_3_16_0_ym19_1_1472212801593_13995"><o:p id="yui_3_16_0_ym19_1_1472212801593_13996"> </o:p></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_13997"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_13998">[RoutePrefix("api/users")]<o:p id="yui_3_16_0_ym19_1_1472212801593_13999"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14000"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14001">public class
UsersController : ApiController<o:p id="yui_3_16_0_ym19_1_1472212801593_14002"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14003"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14004">{<o:p id="yui_3_16_0_ym19_1_1472212801593_14005"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14006"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14007">
[Authorize(Roles="InventoryAuditor")]<o:p id="yui_3_16_0_ym19_1_1472212801593_14008"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14009"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14010">
[Route("")]<o:p id="yui_3_16_0_ym19_1_1472212801593_14011"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14012"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14013">
[HttpGet]<o:p id="yui_3_16_0_ym19_1_1472212801593_14014"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14015"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14016"> public
List<User> GetAllUsers()<o:p id="yui_3_16_0_ym19_1_1472212801593_14017"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14018"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14019"> {<o:p id="yui_3_16_0_ym19_1_1472212801593_14020"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14021"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14022">
//Return list of users<o:p id="yui_3_16_0_ym19_1_1472212801593_14023"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14024"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14025"> }<o:p id="yui_3_16_0_ym19_1_1472212801593_14026"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14027"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14028"><o:p id="yui_3_16_0_ym19_1_1472212801593_14029"> </o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14030"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14031">}<o:p id="yui_3_16_0_ym19_1_1472212801593_14032"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14033"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14034"><o:p id="yui_3_16_0_ym19_1_1472212801593_14035"> </o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14036"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14037">public class User<o:p id="yui_3_16_0_ym19_1_1472212801593_14038"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14039"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14040">{<o:p id="yui_3_16_0_ym19_1_1472212801593_14041"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14042"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14043"> public
int UserID { get; set; }<o:p id="yui_3_16_0_ym19_1_1472212801593_14044"></o:p></span></div><div style="background:#EFF0F1" id="yui_3_16_0_ym19_1_1472212801593_14045"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14046"> public
string FirstName { get; set; }<o:p id="yui_3_16_0_ym19_1_1472212801593_14047"></o:p></span></div><div id="yui_3_16_0_ym19_1_1472212801593_13794">
</div><div style="background:#EFF0F1" dir="ltr" id="yui_3_16_0_ym19_1_1472212801593_14048"><span style="font-size: 10pt; font-family: Consolas; color: rgb(36, 39, 41); border: 1pt none windowtext; padding: 0in; background-image: initial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;" id="yui_3_16_0_ym19_1_1472212801593_14049">}<o:p id="yui_3_16_0_ym19_1_1472212801593_14050"></o:p></span></div></div></body></html>