use*_*114 3 c# asp.net iis-6 current-principal
我试图用来System.Threading.Thread.CurrentPrincipal.Identity.Name获取谁正在使用ASP.NET应用程序的登录名。我没有任何构建错误,但是它返回一个空白值。我正在使用IIS 6,这是我的身份验证设置:
我的Web.config文件中也没有授权设置。这是我用来尝试登录的方法:
public void SetUser()
{
string login = System.Threading.Thread.CurrentPrincipal.Identity.Name;
}
Run Code Online (Sandbox Code Playgroud)
我有一个断点检查该值,它说login = ""。
如何获得登录名?
编辑
这是我的身份验证图片:
小智 5
Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
Run Code Online (Sandbox Code Playgroud)
为我工作。我遇到了同样的问题。
我能够修复它。在我的项目属性中,我使用的是 IIS Express,因此我的应用程序没有访问我的实际 IIS。我取消选中该选项,创建了一个虚拟目录并禁用了除 Windows 身份验证之外的所有身份验证,现在它可以工作了。