6

"Have you ever done any .net programming? Yes? Good, here's a massive broken program, fix it". That is the situation I'm in, so sorry if it's an easy question.

The program I am working on pulls a file from a web server. It is expected that the user is already logged into the web server. I need to pull the username of the current person logged into the server (or just make sure someone is indeed logged into the server).

I have tried the following and it returns an empty string.

user = HttpContext.Current.User.Identity.Name;
2
  • 3
    did you enable windows authentication for the web application in IIS? Commented Jul 3, 2012 at 11:25
  • What does Environment.UserName return? Commented Jul 3, 2012 at 11:28

3 Answers 3

7

Please make sure you are setting windows authentication in Web.Config file. Also check the following before accessing the username,

HttpContext.Current.User.Identity.IsAuthenticated

Set Web.Config as follows,

<authentication mode="Windows"></authentication>
Sign up to request clarification or add additional context in comments.

3 Comments

authentication is currently set to forms. Is there much danger in changing that to windows? <authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="2880"/> </authentication>
+1 but you do not need to change to Windows. Keep the authentication mode to what the site has been designed for. (user name will be populated with any other authentication mode too, if logged in)
Yes. Keep the design as it is. And try to understand formsauthentication using following link stackoverflow.com/questions/8810496/…
1

First check in Web.config file for <authentication> tag. If you don't find it then your application may not be using any standard authentication mechanism. If that is the case look inside the login.aspx or whatever code that does the authentication. There you will get hold of logged in user data.

I wouldn't recommend you to change anything in web.config file without having some firm grasp on whats going in the application.

Comments

0

The properties of the User object are usually populated by the application's authentication scheme (Forms, Windows or Custom) so you'll need to ensure one of these is in place before commencing to access the User.

For more information, take a look at the docs at MSDN.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.