views:

1379

answers:

5

We have an ASP.NET intranet site, available to users who are either physically at and logged into a local machine or else to users who connect remotely via VPN. Is there a way to automatically get the username of whoever is accessing the page based on the name used to either log into the local machine or that used for the VPN?

A: 

If the authentication is setup to do Integrated Windows authentication then you should be able to get it by accessing

User.Identity.Name

Dave
A: 

If the authentication is windows, this should help:

IIdentity WinId= HttpContext.Current.User.Identity;
WindowsIdentity wi = (WindowsIdentity)WinId;
Gulzar
I just get an empty string
notnot
for name property?
Gulzar
yes, the name is blank
notnot
are you using Forms or Windows authentication?
Gulzar
Turns out the problem was that our admin had set anonymous access to true
notnot
aah i see. check out the section on anonymous access http://www.eggheadcafe.com/articles/20050703.asp
Gulzar
A: 

You can use

Page.User.Identity.Name
ck
+2  A: 

This is possible if you're using Windows Authentication in your pages.

You can use either Page.User.Identity.Name or the more complete System.Web.HttpContext.Current.User.Identity.Name.

Read more about it here:

Enabling Windows Authentication within an Intranet ASP.NET Web Application

If you are, however, using Forms Authentication, you'll have to keep track of the current user yourself, the most common method of which will be by storing their login name in a Session variable.

Jon Limjap
A: 

Hi,

I used above mentioned techniques to get username and i am getting username information in visual studio by all methods but when i publish my page and after that i access it in web browser then it give me empty textbox mean no user. any one can help?