如何在 ASP.NET Web 服务 (asmx) 中检索经过 Windows 身份验证的用户?这是我认为可行的,但“System.Web.UI.Page”不存在。然而,这在 aspx 页面后面的代码中确实有效,因为“System.Web.UI.Page”有一个值。请注意,我是从 ExtJS 代理读取请求中调用此 Web 方法的。它在 JavaScript 代码中请求一个 JSON 对象。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false, XmlSerializeString = false)]
public string GetCurrentUserWindowsLogin()
{
string windowsLogin = Page.User.Identity.Name;
int hasDomain = windowsLogin.IndexOf(@"\");
if (hasDomain > 0)
{
windowsLogin = windowsLogin.Remove(0, hasDomain + 1);
}
return windowsLogin;
}