Ok, I figured it out. I just used
System.Threading.Thread.CurrentPrincipal.Identity
instead
WindowsIdentity.GetCurrent()
This does not work when I view the report locally ie
Thread.CurrentPrincipal.Identity.Name
but it works fine after deploying to the server.