2

如何在 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;
}
4

2 回答 2

7

你可以像这样访问

HttpContext.Current.User.Identity.Name 
于 2012-08-10T16:20:37.133 回答
6
HttpContext.Current.User.Identity.Name
于 2012-08-10T16:20:42.267 回答