Solved

Retrieving username

Posted on 2013-05-27
4
210 Views
Last Modified: 2013-06-03
I have workstations with a variable that gives the logged on user id, how can I retrieve this value through a dot.net asp web application, that I am developing ?

The web server resides in a different domain from the users and there is also no trust between the domains, I have the anonymous IIS account setup for the web app, however using other methods, this is the value that is returned for the logged on user.

I would also be looking to take the user id and do a lookup on it in AD, so I can use the First name, second name values within AD.

I'm using VB.net with Visual Web Developer.

Any ideas ?
0
Comment
Question by:ndr-itsolutions
4 Comments
 
LVL 13

Expert Comment

by:Alexander Eßer [Alex140181]
ID: 39199095
0
 
LVL 9

Expert Comment

by:jsdray
ID: 39199122
TextBox6_AddDataControl1.Text = Request.ServerVariables("LOGON_USER")
0
 

Author Comment

by:ndr-itsolutions
ID: 39199135
Still get the same result, that is, the code returns the anonymous user account of the IIS server and not the username of the logged on user's workstation.
0
 
LVL 4

Accepted Solution

by:
EddyvanOpdorp earned 500 total points
ID: 39199433
See here: http://forums.asp.net/t/1179997.aspx

Quote:
In ASP.NET, please use User.Identity.Name to get the logon user. User.Identity.Name might be empty if Anonymous Authentication is enabled in IIS.

http://msdn2.microsoft.com/en-us/library/system.web.httpcontext.user.aspx

Here is the logical to check if the identity is available.

VB.NET

' Gets the name if authenticated.
If User.Identity.IsAuthenticated Then
    Label1.Text = User.Identity.Name
Else
    Label1.Text = "No user identity available."
End If

C#

' Gets the name if authenticated.
if (User.Identity.IsAuthenticated)
    Label1.Text = User.Identity.Name;
else
    Label1.Text = "No user identity available.";

Environment.UserName is the running thread identity. If you have enabled Impersonation as Mark said, you can find out the returning result will be different. However this requires ASP.NET Impersionation. If you don't need ASP.NET Impersonation and dealing with the thread identity, you can ignore Environment.UserName if and just use User.Identity.Name.
0

Featured Post

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Running classic asp applications under Windows Server 2008 R2 (x64) and IIS 7 is not as easy as one may think. It took me a while to figure it out while getting error 8002801d a few times. After you install the OS you will need to install the fol…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now