Subject: Re: capturing username
Date: Tue, 13 Jan 2004 02:30:42 -0800
Lines: 372
Message-ID: <
[email protected]>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Newsreader: Microsoft CDO for Windows 2000
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
Thread-Index: AcPZwEuPyXEvMlJ6QreMe3vVQ0vshA==
Newsgroups: microsoft.public.dotnet.framework.aspnet
Path: cpmsftngxa07.phx.gbl
Xref: cpmsftngxa07.phx.gbl microsoft.public.dotnet.framework.aspnet:201702
NNTP-Posting-Host: tk2msftngxa12.phx.gbl 10.40.1.164
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
Hi Jim, Brent
I'm following this discussion a while and have question.
I have implemented all these steps and work fine, but I
also want to trace the original login which the user used
to login at his own domain.
I have tried to use scripting to get this username
userdomain and machine name (the one you see when typing
SET in dos-box).
I used the following code, but it does not work
(errormessage unabled to create activeX object WScript.Shell)
Could you help me on this, or are there other ways to find
this information?
Best regards and thanks in advance!
Gert Jan
<script language="vbscript">
Set Shell = CreateObject("WScript.Shell")
CompName = Shell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Document.writeln(CompName)
MsgBox(CompName)
</script>
=====
-----Original Message-----
Hi Brent,
As long as the following conditions are met, the username that you get from
WindowsIdentity.GetCurrent().Name will be the user who logs into the Web
site, not the username that was used when you logged into Windows:
1. Anonymous authentication is NOT enabled in IIS.
2. Basic is enabled in IIS.
3. Windows Integrated authentication is NOT enabled in IIS.
4. You have either turned on non-user specific impersonation in the
web.config or machine.config. (i.e. <identity impersonate = "true" />).
Given all of those, you will get the username that was entered into the
challenge box that the browser presented.
Jim Cheshire, MCSE, MCSD [MSFT]
ASP.NET
Developer Support
(e-mail address removed)
This post is provided as-is with no warranties and confers no rights.
--------------------
From: "Brent Burkart" <
[email protected]>
References: <e#
[email protected]>
<
[email protected]>
<eBakm8#
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
Subject: Re: capturing username
Date: Mon, 5 Jan 2004 08:52:02 -0700
Lines: 210
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <
[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: te-64-146-67-30.transedge.com 64.146.67.30
Path:
cpmsftngxa07.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP1 0.
phx.gbl
Xref: cpmsftngxa07.phx.gbl microsoft.public.dotnet.framework.aspnet:199736
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
Well, I didn't implement it, but I was assuming that IIS simply pops up a
login when someone hits the intranet. IIS is using "Basic Authentication".
Am I answering what you are asking?
Thanks for your help
Brent
Brent,
You say "to access this intranet, they must login." How do you implement
that? What kind of authentication on the Web site in IIS?
Jim Cheshire, MCSE, MCSD [MSFT]
ASP.NET
Developer Support
(e-mail address removed)
This post is provided as-is with no warranties and confers no rights.
--------------------
From: "Brent Burkart" <
[email protected]>
References: <e#
[email protected]>
<
[email protected]>
<eBakm8#
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
Subject: Re: capturing username
Date: Fri, 2 Jan 2004 17:11:04 -0700
Lines: 141
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <#
[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: te-64-146-67-30.transedge.com 64.146.67.30
Path:
cpmsftngxa07.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNG
P0
8
phx.gbl!TK2MSFTNGP12.phx.gbl
Xref: cpmsftngxa07.phx.gbl
microsoft.public.dotnet.framework.aspnet:199454
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
Thanks for replying.
We currently have a company intranet. To access this
intranet, they
must
login no matter what machine they are using. I am adding an application
to
the intranet where it is neccessary that I know who is using it and
instead
of managing usernames and passwords in a database, I
will enter the
user
automatically into my database the first time they use the application
and
I
will track their info based on their username.
Does that clarify?
Thanks for your help.
Brent,
If you're using Windows Integrated authentication,
they will be one
and
the
same in almost all cases.
If you're using Basic authentication, the user will be forced to enter
a
username and password, but again, in almost all cases, they will use
their
domain UN/PW to access the site.
I'm curious as to exactly what you're doing here. Can you elaborate
any?
Jim Cheshire, MCSE, MCSD [MSFT]
Microsoft Developer Support
ASP.NET
(e-mail address removed)
This post is provided as-is with no warranties and confers no rights.
--------------------
From: "Brent Burkart" <
[email protected]>
References: <e#
[email protected]>
<
[email protected]>
<eBakm8#
[email protected]>
<
[email protected]>
Subject: Re: capturing username
Date: Fri, 2 Jan 2004 13:42:15 -0700
Lines: 71
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <
[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: te-64-146-67-30.transedge.com 64.146.67.30
Path:
cpmsftngxa07.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTN
GP
0
8
phx.gbl!TK2MSFTNGP10.phx.gbl
Xref: cpmsftngxa07.phx.gbl
microsoft.public.dotnet.framework.aspnet:199428
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
Carl, thanks so much for your help.
I am trying to capture DomainName\Username. I don't care who logged
into
the machine they are using. I only care who logged into the intranet
site.
I have tried all of the combinations and I still
can't seem to
capture
the
domainName\Username.
Thanks again
Brent Burkart wrote:
Brent Burkart wrote:
I am trying to capture the Windows
Authenticated username, but
I
want to be able to capture the login name that exists in IIS,
not
Windows. In order to enter my company's intranet through the
internet, they have to login. I want to be able to capture that
login versus their Windows login because I
need to know who
they
are from any computer rather than only their computer. Any
ideas?
I have Identity Impersonate = True and IIS Anonymous Access
enabled
and I am not sure what NTLM is.
I still get the username of the machine login rather than the
intranet
login.
Brent,
There can be only three possiable accounts you can get when using
Windows authentication mode with the default settings in
machine.config:
1) MachineName\ASPNET (Windows XP - IIS 5.x)
or NT AUTHORITY\NETWORK SERVICE (Windows Server 2003 - IIS 6.0)
2) MachineName\ISUR_MachineName
3) DomainName\Username
Which one are you trying to get?
Here are the configurations in IIS and web.config which will result
in
obtaining
the above account: (note NTLM = Integrated Windows Authentication
in
IIS)
- With Identity Impersonate= false and IIS Anonymous Access enabled
/
NTLM
enabled
=> WindowsIdentity.GetCurrent().Name = "NT AUTHORITY\NETWORK
SERVICE"
=> User.Identity.Name = ""
- With Identity Impersonate= false and IIS
Anonymous Access
disabled
/
NTLM enabled
=> WindowsIdentity.GetCurrent().Name = "NT AUTHORITY\NETWORK
SERVICE"
=> User.Identity.Name = "CARL20\Administrator"
- With Identity Impersonate= true and IIS
Anonymous Access enabled
/
NTLM
enabled
=> WindowsIdentity.GetCurrent().Name = "CARL20\IUSR_CARL20"
=> User.Identity.Name = ""
- With Identity Impersonate= true and IIS Anonymous Access disabled
/
NTLM
enabled
=> WindowsIdentity.GetCurrent().Name = "CARL20\Administrator"
=> User.Identity.Name = "CARL20\Administrator"
--
Thanks,
Carl Prothman
Microsoft ASP.NET MVP
.