Note that there are some explanatory texts on larger screens.

plurals
  1. POThread.CurrentPrincipal claims incorrectly to be anynomous
    text
    copied!<p>I'm seeing requests on my server that appear to be made by an anynomous client, although I'm certain they were made by an authenticated user - I have fiddler logs showing that the client sent valid asp.net auth cookies, and server logs indicating that the cookie arrived and is valid. The problem has been observed across all browsers.</p> <p>The flow of data is:</p> <ol> <li>User visits login url, on a machine that's part of a webfarm (all with the same machine, decrypt keys)</li> <li>On successful forms authentication, user is redirect to a restricted url, their homepage</li> <li>Homepage renders correctly, knowns the identify of the user, and includes javascript to perform 7 asynchronous post-backs to get additional data</li> <li> Javascript kicks off 7 http.get requests, hitting different machines in the webfarm (assume round robin)</li> <li>Server validates request: ~0.01% fail to authenticate.</li> </ol> <p>Thoughts?</p> <p>Now into details:</p> <p>A very small number of the asynchronous requests land at my server (with evidence they were not manipulated or faked) and appear to be anonymous. Of the 7 requests made, some number may or may not work (ie, 5/7 will succeed, 2 will fail). There doesn't appear to be any patterns in success / failures. In the cases where my requests appear to be anonymous, the CurrentPrincipal.Identity records:</p> <pre><code>Thread.CurrentPrincipal.Identity.IsAuthenticated; // false Thread.CurrentPrincipal.Identity.Name; // null (or empty, unsure off hand) </code></pre> <p>Dumping the http.context.request.params collection to a log file, I'm able to see the following relevent (and scrubbed) properties (complete params below):</p> <pre><code>context: {"userId":10000,"userName":"johnsmith"} HTTP_COOKIE:.ASPXAUTH=[valid auth cookie value] HTTP_X_REQUESTED_WITH:XMLHttpRequest X-Requested-With: XMLHttpRequest AUTH_TYPE: AUTH_USER: AUTH_PASSWORD: LOGON_USER: REMOTE_USER: HTTP_COOKIE: .ASPXAUTH=[valid auth cookie value] </code></pre> <p>I know the auth cookie is valid - during these same requests I'm able to decrypt the auth cookie and extract the following:</p> <pre><code>CookiePath: / Expiration: 9/23/2105 8:14:22 PM Expired: False IsPersistent: True IssueDate: 8/30/2010 2:54:22 PM Name: johnsmith UserData: Version: 2 </code></pre> <p>Not sure how to proceed at this point. This problem seems to have been exacerbated with our recent migration to mvc 2.0 / asp.net 4.0, but my confidence isn't high that was the cause.</p> <p>I've reached out to a handful of my customers who have had this problem, and that's been even more frustrating (but does reflect what I'm able to read in my logs). Once in this state, it's hard to get out of it. Clearing cache and cookies seem to have no effect. But, switching to a new browser and it's generally OK. Likewise, waiting several hours and returning with the same browser and it's also generally ok, but not always. As stated earlier, this is seen across all browsers.</p> <p>Any suggestions?<br/> Kevin</p> <p><br/><br/><br/> ------------<br/> Here is the remainder of the log snippet (scrubbed for pii) that I've captured:</p> <pre><code>8/30/2010 2:54:43 PM: Anonymous user detected: Identity Name: IsAuthenticated::False HttpContextInformation to follow: 8/30/2010 2:54:43 PM: Request Param collection contents: context: {"userId":10000,"userName":"johnsmith"} .ASPXAUTH: A3C6615642F1F543397160C84C0E016C8439BDF400B0130AADAB82C93E77FFF3BEAD7726223F02049FA65B2C3E1773928C0371C4F580F2432C1538551BC5654020AD76F37159BA6BB68D7A68744AE036 ASP.NET_SessionId: m5vit3cyv0rsiosqg5xmhhuu ALL_HTTP: HTTP_CONNECTION:close HTTP_ACCEPT:text/javascript, text/html, application/xml, text/xml, */* HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-us HTTP_COOKIE:.ASPXAUTH=A3C6615642F1F543397160C84C0E016C8439BDF400B0130AADAB82C93E77FFF3BEAD7726223F02049FA65B2C3E1773928C0371C4F580F2432C1538551BC5654020AD76F37159BA6BB68D7A68744AE036 HTTP_HOST:www.host.com HTTP_REFERER:http://www.host.com/ HTTP_USER_AGENT:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 HTTP_X_FORWARDED_FOR:166.137.139.139 HTTP_X_REQUESTED_WITH:XMLHttpRequest ALL_RAW: Connection: close Accept: text/javascript, text/html, application/xml, text/xml, */* Accept-Encoding: gzip, deflate Accept-Language: en-us Cookie: .ASPXAUTH=A3C6615642F1F543397160C84C0E016C8439BDF400B0130AADAB82C93E77FFF3BEAD7726223F02049FA65B2C3E1773928C0371C4F580F2432C1538551BC5654020AD76F37159BA6BB68D7A68744AE036 Host: www.host.com Referer: http://www.host.com/ User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 X-Forwarded-For: 166.137.139.139 X-Requested-With: XMLHttpRequest APPL_MD_PATH: /LM/W3SVC/792523/Root APPL_PHYSICAL_PATH: d:\localpath\ AUTH_TYPE: AUTH_USER: AUTH_PASSWORD: LOGON_USER: REMOTE_USER: CERT_COOKIE: CERT_FLAGS: CERT_ISSUER: CERT_KEYSIZE: CERT_SECRETKEYSIZE: CERT_SERIALNUMBER: CERT_SERVER_ISSUER: CERT_SERVER_SUBJECT: CERT_SUBJECT: CONTENT_LENGTH: 0 CONTENT_TYPE: GATEWAY_INTERFACE: CGI/1.1 HTTPS: off HTTPS_KEYSIZE: HTTPS_SECRETKEYSIZE: HTTPS_SERVER_ISSUER: HTTPS_SERVER_SUBJECT: INSTANCE_ID: 792523 INSTANCE_META_PATH: /LM/W3SVC/792523 LOCAL_ADDR: 10.248.50.207 PATH_INFO: /resource PATH_TRANSLATED: d:\localpath\resource QUERY_STRING: context={%22userId%22:10000,%22userName%22:%22johnsmith%22} REMOTE_ADDR: 10.208.205.171 REMOTE_HOST: 10.208.205.171 REMOTE_PORT: 37966 REQUEST_METHOD: GET SCRIPT_NAME: /resouce SERVER_NAME: www.host.com SERVER_PORT: 80 SERVER_PORT_SECURE: 0 SERVER_PROTOCOL: HTTP/1.0 SERVER_SOFTWARE: Microsoft-IIS/6.0 URL: /resource HTTP_CONNECTION: close HTTP_ACCEPT: text/javascript, text/html, application/xml, text/xml, */* HTTP_ACCEPT_ENCODING: gzip, deflate HTTP_ACCEPT_LANGUAGE: en-us HTTP_COOKIE: .ASPXAUTH=A3C6615642F1F543397160C84C0E016C8439BDF400B0130AADAB82C93E77FFF3BEAD7726223F02049FA65B2C3E1773928C0371C4F580F2432C1538551BC5654020AD76F37159BA6BB68D7A68744AE036 HTTP_HOST: www.host.com HTTP_REFERER: http://www.host.com/ HTTP_USER_AGENT: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 HTTP_X_FORWARDED_FOR: 166.137.139.139 HTTP_X_REQUESTED_WITH: XMLHttpRequest 8/30/2010 2:54:43 PM: Auth Ticket collection contents: CookiePath: / Expiration: 9/23/2105 8:14:22 PM Expired: False IsPersistent: True IssueDate: 8/30/2010 2:54:22 PM Name: johnsmith UserData: Version: 2 </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload