How do I get the currently loggedin Windows account from an ASP.NET page?

前端 未结 8 1011
余生分开走
余生分开走 2020-12-01 12:25

I have an ASP.NET 3.5 application that uses ASP.NET forms authentication. I want to be able to get the Windows user name currently logged into the computer (NOT logged into

8条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-01 12:57

    I struggled and struggled and struggled with this. One of the things is that I don't have access to IIS, that is locked down, so I couldn't change any of the server settings. I had to go with what I was capable of doing in code. When I researched it, many of the replies said, "set up IIS like this". . .well, that's great when you have access to IIS, but I didn't -- I had to work with what I could do in code. So, I ended up handling it like this:

    In my web config file, I added the following lines of code within the section:

    
    
      
        
        
      
    
    
    

    Then, it returned an error on my local, which I had to go in and fix. I went to the applicationhost.config file located in the following path on my machine (yours might be different):

    C:\users\"your user name"\My Documents\"yourIISInstallation"\config\applicationhost.config

    and I changed the following settings to "allow", which had been set to "deny":

    changed to

    and

    to

    in the

    
    

    section. Before I found out this fix, I was pulling my hair out over this. I hope this helps someone. As soon as I put in the above code into the webconfig file, it worked on the intranet, it just returned errors in my local, but as soon as I added the above to my local applicationhost.config file, it started working on my local as well. Then, I called the following variable to return the name of the logged in user on windows:

        HttpContext.Current.User.Identity.Name.ToString().Substring((HttpContext.Current.User.Identity.Name.ToString().IndexOf("\\")) + 1);
    

    Cheers!

提交回复
热议问题