[英]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配置:
----更新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.