Page.User.Identity.Name will be the name of the user who authenticated with
the site, assuming they used one of the supported authentication mechanisms
(Windows, Forms, Passport). Note that this use can be a Windows user
(WindowsPrincipal/WindowsIdentity), but it could also be any other
IPrincipal as well.
WindowsIdentity.GetCurrent().Name is the WindowsIdentity that the current
thread is executing under. It controls what security context is used by
unmanaged code, such as accessing files, SQL or AD. It will either be the
process account or an impersonated account.
The two will be the same thing if you are using impersonation with ASP.NET
and are using Windows authentication. Otherwise, they can be different.
HTH,
Joe K.