我试图检查网络应用的当前用户是否与特定用户匹配:
string t = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
当我控制台记录此字符串时,我收到:UserOne
我遇到的问题是:
if(t.Equals("UserOne"))
{
//this part does not fire off
}
else
{
//this part fires off
}
我不明白。我显然已经收到了system.Security.Principal.WindowsIdentity.GetCurrent()的名称。并且据我所知,if语句逻辑是正确的。
请帮忙。
答案 0 :(得分:3)
如果您在控制台应用中运行此功能,WindowsIdentity.Name
将返回您的用户名。
如果您在ASPX网站上运行此功能,WindowsIdentity.Name
可能会返回完全不同的内容,例如与运行ASPX应用程序的应用程序池关联的用户名。
有关详细信息,请查看this answer。