繁体   English   中英

无论使用何种程序,都无法获得登录用户

[英]Unable to get logon user no matter what procedure is used

这是问题,我使用IIS7来托管我的asp.net网站,现在无论使用什么方法,我总是得到应用程序池身份作为当前登录用户(身份验证模式是Windows) 。 以下是我用于获取登录用户的代码段(所有这些代码都返回应用程序池标识)。

WindowsIdentity.GetCurrent().Name 
Convert.ToString(Request.ServerVariables["LOGON_USER"])
WindowsPrincipal p.Identity.Name
Convert.ToString(Request.ServerVariables["AUTH_USER"]).Trim()

请帮助我解决这个问题,这让我很烦恼。

您应该使用asp.net模拟:

http://support.microsoft.com/kb/306158

http://msdn.microsoft.com/en-us/library/aa292118%28v=vs.71%29.aspx

http://msdn.microsoft.com/en-us/library/ff647076.aspx

<identity impersonate="true" />

---更新----

看看IIS配置:

ASP.NET模拟问题

----更新2 ----

    public string GetLoggedUserName()
    {
        string rtn = string.Empty;

        if (CurrentContext.User != null)
        {
            if (CurrentContext.User.Identity.IsAuthenticated)
            {
                var gp = CurrentContext.User as WindowsIdentity;
                if (gp!=null)
                {                
                    rtn = gp.Identity.Name;
                }
            }
        }
        return rtn;
    }

感谢您所提供的所有信息。 问题是由于ASP.NET中的某种错误,我正在做的是我在web应用程序中从default.aspx重定向到Home.aspx,但问题是重定向后的一些如何登录用户信息失去了。 所以我将主页更改为Home.aspx并将所有必需的信息存储在那里,现在它工作正常。

感谢giammin的帮助,非常感谢/。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM