[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1604
  • Last Modified:

asp.net & windows nt login name

hey guys -

i've read a lot of people asking questions on this topic and i can't get any of their solutions to make sense to me.

right off, i'll ask - i have an asp.net website (c# backend). i'm trying to return the logged in user name (windows NT name) to my code. my IIS site is set up via anon auth.

is there any way that i can make this happen? here's a snippet that just returns an empty field for the username.

thanks guys!!


string userName = HttpContext.Current.User.Identity.Name.ToString(); 
        string[] username = new string[10];
        username = userName.Split('\\');
        userName = username[1].ToString();
        int wellid = 0;
        
        //open up connection to server
        String conString = GetConnectionString();
        TextBox1.Text = userName;
        if (Request.QueryString["add"] != null)
        {
            wellid = int.Parse(Request.QueryString["add"].ToString());
 
            try
            {
                SqlConnection connDB = new SqlConnection(conString);
                connDB.Open();
                SqlCommand cmdDB = connDB.CreateCommand();
 
                cmdDB.CommandText = "INSERT INTO MAP.USERSELECTION (userid, welloid) select '" + userName +
                            "'," + wellid;
                cmdDB.ExecuteNonQuery();
                connDB.Close();
                TextBox1.Text = "Item added to your list! You can close this browser!";
            }
            catch { }
        }

Open in new window

0
sclaple
Asked:
sclaple
1 Solution
 
Chandan_GowdaCommented:
Enable Integrated windows Authentication for your website in IIS
0
 
sclapleAuthor Commented:
is that the only way to do it? does that mean i have to be intranet to run it?
0
 
Ashish PatelCommented:
1. Set <authentication mode="Windows"/> in your web config. check that the mode is set to Windows.
2. You can get the login name by using Request.ServerVariables("LOGON_USER")
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Chandan_GowdaCommented:
If you want to get the Windows NT username you have to enable integrated windows authentication,It can be a internet or Intranet.Both will work fine
0
 
sclapleAuthor Commented:
if it is internet, my users will have to input a username/password that authenticates with the server hosting the site, right?
0
 
Chandan_GowdaCommented:
If you have exposed to internet then no need for your users to input the username/password
0
 
bbaoIT ConsultantCommented:
> my IIS site is set up via anon auth.

it is by design, if you do allow anonymous authentication and windows authentication at the same time. not only HttpContext.Current.User.Identity.Name property, other server variables such as AUTH_USER and REMOTE_USER also return an empty string.

as per MS KB article Q306359, you need to deny access to the anonymous user in the <authorization> section of the Web.config file, or use windows authentication only in the Web.config file. for more information, please read the following KB articles. Q306359 gives the resolution step by step.

PRB: Request.ServerVariables("LOGON_USER") Returns Empty String in ASP.NET
http://support.microsoft.com/kb/306359

PRB: Request.ServerVariables("LOGON_USER") Returns Empty String
http://support.microsoft.com/kb/188717

hope it helps,
bbao
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now