accessing WebService from asp.net App on load balanced Servers

J

Jason

Hi,

I have an ASP.Net application that retrieves Data from a Web Service. When
the Web service resides on the same server I have no problem and the asp.net
page functions as expected. I am using impersonation and the credentials are
being passed to the web service as expected.

Now, when the web service resides on a different server the credentials are
not passed to the webservice and the asp application receives a 401 Error. I
have seen emails about using kerberos but have not been successful in getting
it to work. Could this be because I am using Load balanced servers? (Using
Application Server) I thought this worked when using Windows 2000 Server but
I am now using Windows 2003 Server. Can you tell me What specific steps I
need to take for my asp.net application to function and retrieve content from
a web service passing the credentials of the original user using the asp.net
application??
Thanks
Jason
 
S

Steven Cheng[MSFT]

Hi Jason,

Welcome to asp.net newsgroup.
From your description,you're accessing an ASP.NET webservice from an
asp.net webapplication, the the web application
turn on impesonate so as to use the client user's credential to access the
webservice(authenticated protected...)
However, he found that this worked only when the webservice is on the same
machine with the web applicaiton...
Elsewise, you'll get 401 error, yes?

Based on my experience, this problem is caused by the limitation of normal
windows NTLM authentication's generated logon session. By default the
asp.net implicit impersonated client logon session are network logon
sessions, they have not network credentials. So it is ok for accessing
protected resources on the same box (with the asp.net web application...),
however, when try accessing some remote protected resources... we'll get
access error since no security credential is sent (network logon on session
can not be forwarded to remote machine...). This is a typical double hop
limit...

So as for your scenario, the most recommended and simplest means is to use
a fixed privileged account to access the remote webservice in your asp.net
web application (avoid using the implict impersonated client user's
credential....). Or you can consider still maintain the webservice on the
same server with the asp.net web app....
And for the Kerberos you mentioned, yes, it is possible to configure
kerberos delegation between client and our asp.net webapplication so as to
establish kerberos ticket which can be forwarded to multiple remote
machine(mulitple hops...), but using kerberos delegation may require
complex configuration on both client side (browser ) and serverside
(including asp.net web app's server and webservice's server , also the
win2k or win2003 domain.....), so we do not recommend using this approach
......

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
| Thread-Topic: accessing WebService from asp.net App on load balanced
Servers
| thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| X-WBNR-Posting-Host: 134.134.136.1
| From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| Subject: accessing WebService from asp.net App on load balanced Servers
| Date: Sun, 27 Nov 2005 00:38:01 -0800
| Lines: 19
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16428
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
|
| Hi,
|
| I have an ASP.Net application that retrieves Data from a Web Service.
When
| the Web service resides on the same server I have no problem and the
asp.net
| page functions as expected. I am using impersonation and the credentials
are
| being passed to the web service as expected.
|
| Now, when the web service resides on a different server the credentials
are
| not passed to the webservice and the asp application receives a 401
Error. I
| have seen emails about using kerberos but have not been successful in
getting
| it to work. Could this be because I am using Load balanced servers?
(Using
| Application Server) I thought this worked when using Windows 2000 Server
but
| I am now using Windows 2003 Server. Can you tell me What specific steps I
| need to take for my asp.net application to function and retrieve content
from
| a web service passing the credentials of the original user using the
asp.net
| application??
| Thanks
| Jason
|
|
 
J

Jason

Steven,

Thanks for your response. Unfortunately landing the web service on the same
server as the asp.net application is not an option. Neither is using a
hardcoded ID as the web service recognizes the user and sets the response
appropriately. I am amazed that there is no other option. Does the 2.0
framework change anything? I have tried to create an assembly using
EnterpriseServices to handle the impersonation also but it still will not
send the users credentials.. Can you confirm with your colleages if this is
possible with the current framework? or not? This problem seems to remove the
benefit of using a Web Service for the back end data provider...

Thanks
Jason
 
S

Steven Cheng[MSFT]

Thanks for your response Jason,

Actually, this limit is due to the windows NTLM authentication which dosn't
allow an authenticated logon session to double hop multpile machines. So
the client implicit impersonated credential can only access asp.net
server's protected resource but not another remote machine... In
addition to kerberos delegation (which require all the computers involve in
the application's process stream be configured correctly.....), another
apprach is we programmatically impersonate the client user, such
programmatic imperosated session will also be remotable to other machines.
However, programatically impersonate require clear text
username/password....

#How to configure an ASP.NET application for a delegation scenario
http://support.microsoft.com/default.aspx?scid=kb;en-us;810572

Anyway, delegate authenticated credential multiple hops is not good ideas
since whenever it skip a more hop, the possibility that the context be
hacked increate. Also, performance overhead is also involved.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)



--------------------
| Thread-Topic: accessing WebService from asp.net App on load balanced
Servers
| thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| X-WBNR-Posting-Host: 134.134.136.1
| From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| References: <[email protected]>
<[email protected]>
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| Date: Sun, 27 Nov 2005 20:30:02 -0800
| Lines: 120
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16434
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
|
| Steven,
|
| Thanks for your response. Unfortunately landing the web service on the
same
| server as the asp.net application is not an option. Neither is using a
| hardcoded ID as the web service recognizes the user and sets the response
| appropriately. I am amazed that there is no other option. Does the 2.0
| framework change anything? I have tried to create an assembly using
| EnterpriseServices to handle the impersonation also but it still will not
| send the users credentials.. Can you confirm with your colleages if this
is
| possible with the current framework? or not? This problem seems to remove
the
| benefit of using a Web Service for the back end data provider...
|
| Thanks
| Jason
|
|
| "Steven Cheng[MSFT]" wrote:
|
| > Hi Jason,
| >
| > Welcome to asp.net newsgroup.
| > From your description,you're accessing an ASP.NET webservice from an
| > asp.net webapplication, the the web application
| > turn on impesonate so as to use the client user's credential to access
the
| > webservice(authenticated protected...)
| > However, he found that this worked only when the webservice is on the
same
| > machine with the web applicaiton...
| > Elsewise, you'll get 401 error, yes?
| >
| > Based on my experience, this problem is caused by the limitation of
normal
| > windows NTLM authentication's generated logon session. By default the
| > asp.net implicit impersonated client logon session are network logon
| > sessions, they have not network credentials. So it is ok for accessing
| > protected resources on the same box (with the asp.net web
application...),
| > however, when try accessing some remote protected resources... we'll
get
| > access error since no security credential is sent (network logon on
session
| > can not be forwarded to remote machine...). This is a typical double
hop
| > limit...
| >
| > So as for your scenario, the most recommended and simplest means is to
use
| > a fixed privileged account to access the remote webservice in your
asp.net
| > web application (avoid using the implict impersonated client user's
| > credential....). Or you can consider still maintain the webservice on
the
| > same server with the asp.net web app....
| > And for the Kerberos you mentioned, yes, it is possible to configure
| > kerberos delegation between client and our asp.net webapplication so as
to
| > establish kerberos ticket which can be forwarded to multiple remote
| > machine(mulitple hops...), but using kerberos delegation may require
| > complex configuration on both client side (browser ) and serverside
| > (including asp.net web app's server and webservice's server , also the
| > win2k or win2003 domain.....), so we do not recommend using this
approach
| > ......
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| > --------------------
| > | Thread-Topic: accessing WebService from asp.net App on load balanced
| > Servers
| > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| > | X-WBNR-Posting-Host: 134.134.136.1
| > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | Subject: accessing WebService from asp.net App on load balanced
Servers
| > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| > | Lines: 19
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.security:16428
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| > |
| > | Hi,
| > |
| > | I have an ASP.Net application that retrieves Data from a Web Service.
| > When
| > | the Web service resides on the same server I have no problem and the
| > asp.net
| > | page functions as expected. I am using impersonation and the
credentials
| > are
| > | being passed to the web service as expected.
| > |
| > | Now, when the web service resides on a different server the
credentials
| > are
| > | not passed to the webservice and the asp application receives a 401
| > Error. I
| > | have seen emails about using kerberos but have not been successful in
| > getting
| > | it to work. Could this be because I am using Load balanced servers?
| > (Using
| > | Application Server) I thought this worked when using Windows 2000
Server
| > but
| > | I am now using Windows 2003 Server. Can you tell me What specific
steps I
| > | need to take for my asp.net application to function and retrieve
content
| > from
| > | a web service passing the credentials of the original user using the
| > asp.net
| > | application??
| > | Thanks
| > | Jason
| > |
| > |
| >
| >
|
 
J

Jason

Would Constrained Delegation not give me a solution here? This is an Intranet
application and my undertstanding of constrained delegation is that the
Original user impersonation will carry through to the back end server??

Steven Cheng said:
Thanks for your response Jason,

Actually, this limit is due to the windows NTLM authentication which dosn't
allow an authenticated logon session to double hop multpile machines. So
the client implicit impersonated credential can only access asp.net
server's protected resource but not another remote machine... In
addition to kerberos delegation (which require all the computers involve in
the application's process stream be configured correctly.....), another
apprach is we programmatically impersonate the client user, such
programmatic imperosated session will also be remotable to other machines.
However, programatically impersonate require clear text
username/password....

#How to configure an ASP.NET application for a delegation scenario
http://support.microsoft.com/default.aspx?scid=kb;en-us;810572

Anyway, delegate authenticated credential multiple hops is not good ideas
since whenever it skip a more hop, the possibility that the context be
hacked increate. Also, performance overhead is also involved.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)



--------------------
| Thread-Topic: accessing WebService from asp.net App on load balanced
Servers
| thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| X-WBNR-Posting-Host: 134.134.136.1
| From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| References: <[email protected]>
<[email protected]>
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| Date: Sun, 27 Nov 2005 20:30:02 -0800
| Lines: 120
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16434
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
|
| Steven,
|
| Thanks for your response. Unfortunately landing the web service on the
same
| server as the asp.net application is not an option. Neither is using a
| hardcoded ID as the web service recognizes the user and sets the response
| appropriately. I am amazed that there is no other option. Does the 2.0
| framework change anything? I have tried to create an assembly using
| EnterpriseServices to handle the impersonation also but it still will not
| send the users credentials.. Can you confirm with your colleages if this
is
| possible with the current framework? or not? This problem seems to remove
the
| benefit of using a Web Service for the back end data provider...
|
| Thanks
| Jason
|
|
| "Steven Cheng[MSFT]" wrote:
|
| > Hi Jason,
| >
| > Welcome to asp.net newsgroup.
| > From your description,you're accessing an ASP.NET webservice from an
| > asp.net webapplication, the the web application
| > turn on impesonate so as to use the client user's credential to access
the
| > webservice(authenticated protected...)
| > However, he found that this worked only when the webservice is on the
same
| > machine with the web applicaiton...
| > Elsewise, you'll get 401 error, yes?
| >
| > Based on my experience, this problem is caused by the limitation of
normal
| > windows NTLM authentication's generated logon session. By default the
| > asp.net implicit impersonated client logon session are network logon
| > sessions, they have not network credentials. So it is ok for accessing
| > protected resources on the same box (with the asp.net web
application...),
| > however, when try accessing some remote protected resources... we'll
get
| > access error since no security credential is sent (network logon on
session
| > can not be forwarded to remote machine...). This is a typical double
hop
| > limit...
| >
| > So as for your scenario, the most recommended and simplest means is to
use
| > a fixed privileged account to access the remote webservice in your
asp.net
| > web application (avoid using the implict impersonated client user's
| > credential....). Or you can consider still maintain the webservice on
the
| > same server with the asp.net web app....
| > And for the Kerberos you mentioned, yes, it is possible to configure
| > kerberos delegation between client and our asp.net webapplication so as
to
| > establish kerberos ticket which can be forwarded to multiple remote
| > machine(mulitple hops...), but using kerberos delegation may require
| > complex configuration on both client side (browser ) and serverside
| > (including asp.net web app's server and webservice's server , also the
| > win2k or win2003 domain.....), so we do not recommend using this
approach
| > ......
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| > --------------------
| > | Thread-Topic: accessing WebService from asp.net App on load balanced
| > Servers
| > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| > | X-WBNR-Posting-Host: 134.134.136.1
| > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | Subject: accessing WebService from asp.net App on load balanced
Servers
| > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| > | Lines: 19
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.security:16428
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| > |
| > | Hi,
| > |
| > | I have an ASP.Net application that retrieves Data from a Web Service.
| > When
| > | the Web service resides on the same server I have no problem and the
| > asp.net
| > | page functions as expected. I am using impersonation and the
credentials
| > are
| > | being passed to the web service as expected.
| > |
| > | Now, when the web service resides on a different server the
credentials
| > are
| > | not passed to the webservice and the asp application receives a 401
| > Error. I
| > | have seen emails about using kerberos but have not been successful in
| > getting
| > | it to work. Could this be because I am using Load balanced servers?
| > (Using
| > | Application Server) I thought this worked when using Windows 2000
Server
| > but
| > | I am now using Windows 2003 Server. Can you tell me What specific
steps I
| > | need to take for my asp.net application to function and retrieve
content
| > from
| > | a web service passing the credentials of the original user using the
| > asp.net
| > | application??
| > | Thanks
| > | Jason
| > |
| > |
| >
| >
|
 
S

Steven Cheng[MSFT]

Thanks for your response Jason,

Yes, if you're able to successfully implement the kerberos authentication
configuration from the client (browser side....) to your web server and
the remote webservice server (all in the same 2000 or 2003 domain or
trusted domain...), and all the user accounts meet the requirement, the
kerberos token can be forwared from webserver to remote webservice server...

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| Thread-Topic: accessing WebService from asp.net App on load balanced
Servers
| thread-index: AcX0iRkP/iqm3QbgRIq9MZI1zHBZxA==
| X-WBNR-Posting-Host: 134.134.136.2
| From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| Date: Mon, 28 Nov 2005 18:03:31 -0800
| Lines: 210
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16453
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
|
| Would Constrained Delegation not give me a solution here? This is an
Intranet
| application and my undertstanding of constrained delegation is that the
| Original user impersonation will carry through to the back end server??
|
| "Steven Cheng[MSFT]" wrote:
|
| > Thanks for your response Jason,
| >
| > Actually, this limit is due to the windows NTLM authentication which
dosn't
| > allow an authenticated logon session to double hop multpile machines.
So
| > the client implicit impersonated credential can only access asp.net
| > server's protected resource but not another remote machine... In
| > addition to kerberos delegation (which require all the computers
involve in
| > the application's process stream be configured correctly.....),
another
| > apprach is we programmatically impersonate the client user, such
| > programmatic imperosated session will also be remotable to other
machines.
| > However, programatically impersonate require clear text
| > username/password....
| >
| > #How to configure an ASP.NET application for a delegation scenario
| > http://support.microsoft.com/default.aspx?scid=kb;en-us;810572
| >
| > Anyway, delegate authenticated credential multiple hops is not good
ideas
| > since whenever it skip a more hop, the possibility that the context be
| > hacked increate. Also, performance overhead is also involved.
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| > --------------------
| > | Thread-Topic: accessing WebService from asp.net App on load balanced
| > Servers
| > | thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| > | X-WBNR-Posting-Host: 134.134.136.1
| > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | References: <[email protected]>
| > <[email protected]>
| > | Subject: RE: accessing WebService from asp.net App on load balanced
| > Servers
| > | Date: Sun, 27 Nov 2005 20:30:02 -0800
| > | Lines: 120
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.security:16434
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| > |
| > | Steven,
| > |
| > | Thanks for your response. Unfortunately landing the web service on
the
| > same
| > | server as the asp.net application is not an option. Neither is using
a
| > | hardcoded ID as the web service recognizes the user and sets the
response
| > | appropriately. I am amazed that there is no other option. Does the
2.0
| > | framework change anything? I have tried to create an assembly using
| > | EnterpriseServices to handle the impersonation also but it still will
not
| > | send the users credentials.. Can you confirm with your colleages if
this
| > is
| > | possible with the current framework? or not? This problem seems to
remove
| > the
| > | benefit of using a Web Service for the back end data provider...
| > |
| > | Thanks
| > | Jason
| > |
| > |
| > | "Steven Cheng[MSFT]" wrote:
| > |
| > | > Hi Jason,
| > | >
| > | > Welcome to asp.net newsgroup.
| > | > From your description,you're accessing an ASP.NET webservice from
an
| > | > asp.net webapplication, the the web application
| > | > turn on impesonate so as to use the client user's credential to
access
| > the
| > | > webservice(authenticated protected...)
| > | > However, he found that this worked only when the webservice is on
the
| > same
| > | > machine with the web applicaiton...
| > | > Elsewise, you'll get 401 error, yes?
| > | >
| > | > Based on my experience, this problem is caused by the limitation of
| > normal
| > | > windows NTLM authentication's generated logon session. By default
the
| > | > asp.net implicit impersonated client logon session are network
logon
| > | > sessions, they have not network credentials. So it is ok for
accessing
| > | > protected resources on the same box (with the asp.net web
| > application...),
| > | > however, when try accessing some remote protected resources...
we'll
| > get
| > | > access error since no security credential is sent (network logon on
| > session
| > | > can not be forwarded to remote machine...). This is a typical
double
| > hop
| > | > limit...
| > | >
| > | > So as for your scenario, the most recommended and simplest means is
to
| > use
| > | > a fixed privileged account to access the remote webservice in your
| > asp.net
| > | > web application (avoid using the implict impersonated client user's
| > | > credential....). Or you can consider still maintain the webservice
on
| > the
| > | > same server with the asp.net web app....
| > | > And for the Kerberos you mentioned, yes, it is possible to
configure
| > | > kerberos delegation between client and our asp.net webapplication
so as
| > to
| > | > establish kerberos ticket which can be forwarded to multiple remote
| > | > machine(mulitple hops...), but using kerberos delegation may
require
| > | > complex configuration on both client side (browser ) and serverside

| > | > (including asp.net web app's server and webservice's server , also
the
| > | > win2k or win2003 domain.....), so we do not recommend using this
| > approach
| > | > ......
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | > --------------------
| > | > | Thread-Topic: accessing WebService from asp.net App on load
balanced
| > | > Servers
| > | > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| > | > | X-WBNR-Posting-Host: 134.134.136.1
| > | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | > | Subject: accessing WebService from asp.net App on load balanced
| > Servers
| > | > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| > | > | Lines: 19
| > | > | Message-ID: <[email protected]>
| > | > | MIME-Version: 1.0
| > | > | Content-Type: text/plain;
| > | > | charset="Utf-8"
| > | > | Content-Transfer-Encoding: 7bit
| > | > | X-Newsreader: Microsoft CDO for Windows 2000
| > | > | Content-Class: urn:content-classes:message
| > | > | Importance: normal
| > | > | Priority: normal
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| > | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | > | Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | > | Xref: TK2MSFTNGXA02.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.security:16428
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| > | > |
| > | > | Hi,
| > | > |
| > | > | I have an ASP.Net application that retrieves Data from a Web
Service.
| > | > When
| > | > | the Web service resides on the same server I have no problem and
the
| > | > asp.net
| > | > | page functions as expected. I am using impersonation and the
| > credentials
| > | > are
| > | > | being passed to the web service as expected.
| > | > |
| > | > | Now, when the web service resides on a different server the
| > credentials
| > | > are
| > | > | not passed to the webservice and the asp application receives a
401
| > | > Error. I
| > | > | have seen emails about using kerberos but have not been
successful in
| > | > getting
| > | > | it to work. Could this be because I am using Load balanced
servers?
| > | > (Using
| > | > | Application Server) I thought this worked when using Windows 2000
| > Server
| > | > but
| > | > | I am now using Windows 2003 Server. Can you tell me What specific
| > steps I
| > | > | need to take for my asp.net application to function and retrieve
| > content
| > | > from
| > | > | a web service passing the credentials of the original user using
the
| > | > asp.net
| > | > | application??
| > | > | Thanks
| > | > | Jason
| > | > |
| > | > |
| > | >
| > | >
| > |
| >
| >
|
 
D

Dominick Baier [DevelopMentor]

Hello Steven Cheng[MSFT],

and if you wonder how that works, have a look at:
http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx

---------------------------------------
Dominick Baier - DevelopMentor
http://www.leastprivilege.com
Thanks for your response Jason,

Yes, if you're able to successfully implement the kerberos
authentication configuration from the client (browser side....) to
your web server and the remote webservice server (all in the same 2000
or 2003 domain or trusted domain...), and all the user accounts meet
the requirement, the kerberos token can be forwared from webserver to
remote webservice server...

Thanks,

Steven Cheng
Microsoft Online Support
Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| Thread-Topic: accessing WebService from asp.net App on load balanced
Servers
| thread-index: AcX0iRkP/iqm3QbgRIq9MZI1zHBZxA==
| X-WBNR-Posting-Host: 134.134.136.2
| From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| Date: Mon, 28 Nov 2005 18:03:31 -0800
| Lines: 210
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16453
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
|
| Would Constrained Delegation not give me a solution here? This is an
Intranet
| application and my undertstanding of constrained delegation is that
the
| Original user impersonation will carry through to the back end
server??
|
| "Steven Cheng[MSFT]" wrote:
|
| > Thanks for your response Jason,
| >
| > Actually, this limit is due to the windows NTLM authentication
which
dosn't
| > allow an authenticated logon session to double hop multpile
machines.
So
| > the client implicit impersonated credential can only access
asp.net
| > server's protected resource but not another remote machine...
In
| > addition to kerberos delegation (which require all the computers
involve in
| > the application's process stream be configured correctly.....),
another
| > apprach is we programmatically impersonate the client user, such
| > programmatic imperosated session will also be remotable to other
machines.
| > However, programatically impersonate require clear text
| > username/password....
| >
| > #How to configure an ASP.NET application for a delegation scenario
| > http://support.microsoft.com/default.aspx?scid=kb;en-us;810572
| >
| > Anyway, delegate authenticated credential multiple hops is not
good
ideas
| > since whenever it skip a more hop, the possibility that the
context be
| > hacked increate. Also, performance overhead is also involved.
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers
no
| > rights.)
| >
| >
| >
| > --------------------
| > | Thread-Topic: accessing WebService from asp.net App on load
balanced
| > Servers
| > | thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| > | X-WBNR-Posting-Host: 134.134.136.1
| > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | References:
<[email protected]>
| > <[email protected]>
| > | Subject: RE: accessing WebService from asp.net App on load
balanced
| > Servers
| > | Date: Sun, 27 Nov 2005 20:30:02 -0800
| > | Lines: 120
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.security:16434
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| > |
| > | Steven,
| > |
| > | Thanks for your response. Unfortunately landing the web service
on
the
| > same
| > | server as the asp.net application is not an option. Neither is
using
a
| > | hardcoded ID as the web service recognizes the user and sets the
response
| > | appropriately. I am amazed that there is no other option. Does
the
2.0
| > | framework change anything? I have tried to create an assembly
using
| > | EnterpriseServices to handle the impersonation also but it still
will
not
| > | send the users credentials.. Can you confirm with your colleages
if
this
| > is
| > | possible with the current framework? or not? This problem seems
to
remove
| > the
| > | benefit of using a Web Service for the back end data provider...
| > |
| > | Thanks
| > | Jason
| > |
| > |
| > | "Steven Cheng[MSFT]" wrote:
| > |
| > | > Hi Jason,
| > | >
| > | > Welcome to asp.net newsgroup.
| > | > From your description,you're accessing an ASP.NET webservice
from
an
| > | > asp.net webapplication, the the web application
| > | > turn on impesonate so as to use the client user's credential
to
access
| > the
| > | > webservice(authenticated protected...)
| > | > However, he found that this worked only when the webservice is
on
the
| > same
| > | > machine with the web applicaiton...
| > | > Elsewise, you'll get 401 error, yes?
| > | >
| > | > Based on my experience, this problem is caused by the
limitation of
| > normal
| > | > windows NTLM authentication's generated logon session. By
default
the
| > | > asp.net implicit impersonated client logon session are network
logon
| > | > sessions, they have not network credentials. So it is ok for
accessing
| > | > protected resources on the same box (with the asp.net web
| > application...),
| > | > however, when try accessing some remote protected resources...
we'll
| > get
| > | > access error since no security credential is sent (network
logon on
| > session
| > | > can not be forwarded to remote machine...). This is a typical
double
| > hop
| > | > limit...
| > | >
| > | > So as for your scenario, the most recommended and simplest
means is
to
| > use
| > | > a fixed privileged account to access the remote webservice in
your
| > asp.net
| > | > web application (avoid using the implict impersonated client
user's
| > | > credential....). Or you can consider still maintain the
webservice
on
| > the
| > | > same server with the asp.net web app....
| > | > And for the Kerberos you mentioned, yes, it is possible to
configure
| > | > kerberos delegation between client and our asp.net
webapplication
so as
| > to
| > | > establish kerberos ticket which can be forwarded to multiple
remote
| > | > machine(mulitple hops...), but using kerberos delegation may
require
| > | > complex configuration on both client side (browser ) and
serverside
| > | > (including asp.net web app's server and webservice's server ,
also
the
| > | > win2k or win2003 domain.....), so we do not recommend using
this
| > approach
| > | > ......
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and
confers
no
| > | > rights.)
| > | >
| > | > --------------------
| > | > | Thread-Topic: accessing WebService from asp.net App on load
balanced
| > | > Servers
| > | > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| > | > | X-WBNR-Posting-Host: 134.134.136.1
| > | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| > | > | Subject: accessing WebService from asp.net App on load
balanced
| > Servers
| > | > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| > | > | Lines: 19
| > | > | Message-ID:
<[email protected]>
| > | > | MIME-Version: 1.0
| > | > | Content-Type: text/plain;
| > | > | charset="Utf-8"
| > | > | Content-Transfer-Encoding: 7bit
| > | > | X-Newsreader: Microsoft CDO for Windows 2000
| > | > | Content-Class: urn:content-classes:message
| > | > | Importance: normal
| > | > | Priority: normal
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | Newsgroups:
microsoft.public.dotnet.framework.aspnet.security
| > | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | > | Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | > | Xref: TK2MSFTNGXA02.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.security:16428
| > | > | X-Tomcat-NG:
microsoft.public.dotnet.framework.aspnet.security
| > | > |
| > | > | Hi,
| > | > |
| > | > | I have an ASP.Net application that retrieves Data from a Web
Service.
| > | > When
| > | > | the Web service resides on the same server I have no problem
and
the
| > | > asp.net
| > | > | page functions as expected. I am using impersonation and the
| > credentials
| > | > are
| > | > | being passed to the web service as expected.
| > | > |
| > | > | Now, when the web service resides on a different server the
| > credentials
| > | > are
| > | > | not passed to the webservice and the asp application
receives a
401
| > | > Error. I
| > | > | have seen emails about using kerberos but have not been
successful in
| > | > getting
| > | > | it to work. Could this be because I am using Load balanced
servers?
| > | > (Using
| > | > | Application Server) I thought this worked when using Windows
2000
| > Server
| > | > but
| > | > | I am now using Windows 2003 Server. Can you tell me What
specific
| > steps I
| > | > | need to take for my asp.net application to function and
retrieve
| > content
| > | > from
| > | > | a web service passing the credentials of the original user
using
the
| > | > asp.net
| > | > | application??
| > | > | Thanks
| > | > | Jason
| > | > |
| > | > |
| > | >
| > | >
| > |
| >
| >
|
 
S

Steven Cheng[MSFT]

Hi Jason,

Have you got any further ideas on this issue? If there're anything else we
can help, please feel free to post here.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| X-Tomcat-ID: 280188595
| References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain
| Content-Transfer-Encoding: 7bit
| From: (e-mail address removed) (Steven Cheng[MSFT])
| Organization: Microsoft
| Date: Tue, 29 Nov 2005 11:34:27 GMT
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| Message-ID: <[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| Lines: 275
| Path: TK2MSFTNGXA02.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16454
| NNTP-Posting-Host: tomcatimport2.phx.gbl 10.201.218.182
|
| Thanks for your response Jason,
|
| Yes, if you're able to successfully implement the kerberos authentication
| configuration from the client (browser side....) to your web server and
| the remote webservice server (all in the same 2000 or 2003 domain or
| trusted domain...), and all the user accounts meet the requirement, the
| kerberos token can be forwared from webserver to remote webservice
server...
|
| Thanks,
|
| Steven Cheng
| Microsoft Online Support
|
| Get Secure! www.microsoft.com/security
| (This posting is provided "AS IS", with no warranties, and confers no
| rights.)
| --------------------
| | Thread-Topic: accessing WebService from asp.net App on load balanced
| Servers
| | thread-index: AcX0iRkP/iqm3QbgRIq9MZI1zHBZxA==
| | X-WBNR-Posting-Host: 134.134.136.2
| | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | References: <[email protected]>
| <[email protected]>
| <[email protected]>
| <[email protected]>
| | Subject: RE: accessing WebService from asp.net App on load balanced
| Servers
| | Date: Mon, 28 Nov 2005 18:03:31 -0800
| | Lines: 210
| | Message-ID: <[email protected]>
| | MIME-Version: 1.0
| | Content-Type: text/plain;
| | charset="Utf-8"
| | Content-Transfer-Encoding: 7bit
| | X-Newsreader: Microsoft CDO for Windows 2000
| | Content-Class: urn:content-classes:message
| | Importance: normal
| | Priority: normal
| | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | Xref: TK2MSFTNGXA02.phx.gbl
| microsoft.public.dotnet.framework.aspnet.security:16453
| | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| |
| | Would Constrained Delegation not give me a solution here? This is an
| Intranet
| | application and my undertstanding of constrained delegation is that the
| | Original user impersonation will carry through to the back end server??
| |
| | "Steven Cheng[MSFT]" wrote:
| |
| | > Thanks for your response Jason,
| | >
| | > Actually, this limit is due to the windows NTLM authentication which
| dosn't
| | > allow an authenticated logon session to double hop multpile
machines.
| So
| | > the client implicit impersonated credential can only access asp.net
| | > server's protected resource but not another remote machine... In
| | > addition to kerberos delegation (which require all the computers
| involve in
| | > the application's process stream be configured correctly.....),
| another
| | > apprach is we programmatically impersonate the client user, such
| | > programmatic imperosated session will also be remotable to other
| machines.
| | > However, programatically impersonate require clear text
| | > username/password....
| | >
| | > #How to configure an ASP.NET application for a delegation scenario
| | > http://support.microsoft.com/default.aspx?scid=kb;en-us;810572
| | >
| | > Anyway, delegate authenticated credential multiple hops is not good
| ideas
| | > since whenever it skip a more hop, the possibility that the context
be
| | > hacked increate. Also, performance overhead is also involved.
| | >
| | > Thanks,
| | >
| | > Steven Cheng
| | > Microsoft Online Support
| | >
| | > Get Secure! www.microsoft.com/security
| | > (This posting is provided "AS IS", with no warranties, and confers no
| | > rights.)
| | >
| | >
| | >
| | > --------------------
| | > | Thread-Topic: accessing WebService from asp.net App on load
balanced
| | > Servers
| | > | thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| | > | X-WBNR-Posting-Host: 134.134.136.1
| | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | > | References: <[email protected]>
| | > <[email protected]>
| | > | Subject: RE: accessing WebService from asp.net App on load balanced
| | > Servers
| | > | Date: Sun, 27 Nov 2005 20:30:02 -0800
| | > | Lines: 120
| | > | Message-ID: <[email protected]>
| | > | MIME-Version: 1.0
| | > | Content-Type: text/plain;
| | > | charset="Utf-8"
| | > | Content-Transfer-Encoding: 7bit
| | > | X-Newsreader: Microsoft CDO for Windows 2000
| | > | Content-Class: urn:content-classes:message
| | > | Importance: normal
| | > | Priority: normal
| | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | > | Path:
| TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | > | Xref: TK2MSFTNGXA02.phx.gbl
| | > microsoft.public.dotnet.framework.aspnet.security:16434
| | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | > |
| | > | Steven,
| | > |
| | > | Thanks for your response. Unfortunately landing the web service on
| the
| | > same
| | > | server as the asp.net application is not an option. Neither is
using
| a
| | > | hardcoded ID as the web service recognizes the user and sets the
| response
| | > | appropriately. I am amazed that there is no other option. Does the
| 2.0
| | > | framework change anything? I have tried to create an assembly using
| | > | EnterpriseServices to handle the impersonation also but it still
will
| not
| | > | send the users credentials.. Can you confirm with your colleages if
| this
| | > is
| | > | possible with the current framework? or not? This problem seems to
| remove
| | > the
| | > | benefit of using a Web Service for the back end data provider...
| | > |
| | > | Thanks
| | > | Jason
| | > |
| | > |
| | > | "Steven Cheng[MSFT]" wrote:
| | > |
| | > | > Hi Jason,
| | > | >
| | > | > Welcome to asp.net newsgroup.
| | > | > From your description,you're accessing an ASP.NET webservice from
| an
| | > | > asp.net webapplication, the the web application
| | > | > turn on impesonate so as to use the client user's credential to
| access
| | > the
| | > | > webservice(authenticated protected...)
| | > | > However, he found that this worked only when the webservice is on
| the
| | > same
| | > | > machine with the web applicaiton...
| | > | > Elsewise, you'll get 401 error, yes?
| | > | >
| | > | > Based on my experience, this problem is caused by the limitation
of
| | > normal
| | > | > windows NTLM authentication's generated logon session. By default
| the
| | > | > asp.net implicit impersonated client logon session are network
| logon
| | > | > sessions, they have not network credentials. So it is ok for
| accessing
| | > | > protected resources on the same box (with the asp.net web
| | > application...),
| | > | > however, when try accessing some remote protected resources...
| we'll
| | > get
| | > | > access error since no security credential is sent (network logon
on
| | > session
| | > | > can not be forwarded to remote machine...). This is a typical
| double
| | > hop
| | > | > limit...
| | > | >
| | > | > So as for your scenario, the most recommended and simplest means
is
| to
| | > use
| | > | > a fixed privileged account to access the remote webservice in
your
| | > asp.net
| | > | > web application (avoid using the implict impersonated client
user's
| | > | > credential....). Or you can consider still maintain the
webservice
| on
| | > the
| | > | > same server with the asp.net web app....
| | > | > And for the Kerberos you mentioned, yes, it is possible to
| configure
| | > | > kerberos delegation between client and our asp.net webapplication
| so as
| | > to
| | > | > establish kerberos ticket which can be forwarded to multiple
remote
| | > | > machine(mulitple hops...), but using kerberos delegation may
| require
| | > | > complex configuration on both client side (browser ) and
serverside
|
| | > | > (including asp.net web app's server and webservice's server ,
also
| the
| | > | > win2k or win2003 domain.....), so we do not recommend using this
| | > approach
| | > | > ......
| | > | >
| | > | > Thanks,
| | > | >
| | > | > Steven Cheng
| | > | > Microsoft Online Support
| | > | >
| | > | > Get Secure! www.microsoft.com/security
| | > | > (This posting is provided "AS IS", with no warranties, and
confers
| no
| | > | > rights.)
| | > | >
| | > | > --------------------
| | > | > | Thread-Topic: accessing WebService from asp.net App on load
| balanced
| | > | > Servers
| | > | > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| | > | > | X-WBNR-Posting-Host: 134.134.136.1
| | > | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | > | > | Subject: accessing WebService from asp.net App on load balanced
| | > Servers
| | > | > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| | > | > | Lines: 19
| | > | > | Message-ID: <[email protected]>
| | > | > | MIME-Version: 1.0
| | > | > | Content-Type: text/plain;
| | > | > | charset="Utf-8"
| | > | > | Content-Transfer-Encoding: 7bit
| | > | > | X-Newsreader: Microsoft CDO for Windows 2000
| | > | > | Content-Class: urn:content-classes:message
| | > | > | Importance: normal
| | > | > | Priority: normal
| | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | > | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | > | > | Path:
| TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | > | > | Xref: TK2MSFTNGXA02.phx.gbl
| | > | > microsoft.public.dotnet.framework.aspnet.security:16428
| | > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | > | > |
| | > | > | Hi,
| | > | > |
| | > | > | I have an ASP.Net application that retrieves Data from a Web
| Service.
| | > | > When
| | > | > | the Web service resides on the same server I have no problem
and
| the
| | > | > asp.net
| | > | > | page functions as expected. I am using impersonation and the
| | > credentials
| | > | > are
| | > | > | being passed to the web service as expected.
| | > | > |
| | > | > | Now, when the web service resides on a different server the
| | > credentials
| | > | > are
| | > | > | not passed to the webservice and the asp application receives a
| 401
| | > | > Error. I
| | > | > | have seen emails about using kerberos but have not been
| successful in
| | > | > getting
| | > | > | it to work. Could this be because I am using Load balanced
| servers?
| | > | > (Using
| | > | > | Application Server) I thought this worked when using Windows
2000
| | > Server
| | > | > but
| | > | > | I am now using Windows 2003 Server. Can you tell me What
specific
| | > steps I
| | > | > | need to take for my asp.net application to function and
retrieve
| | > content
| | > | > from
| | > | > | a web service passing the credentials of the original user
using
| the
| | > | > asp.net
| | > | > | application??
| | > | > | Thanks
| | > | > | Jason
| | > | > |
| | > | > |
| | > | >
| | > | >
| | > |
| | >
| | >
| |
|
|
 
S

Steven Cheng[MSFT]

Hey Jason,

Thanks for your further feedback, sorry for haven't making things clear.
Yes, for intranet application within a windows domain (2000 or 2003)
environment, we can have clientside windows authentication's security
context to forward to server , and a more remote server(e.g backend
database....) through kerberos delegation.

Actually, due to the complexity and environment dependent requirement,
there has little complete example like some other technical tricks....
However, we have many msdn reference and technical articles introducing
such features:



For general info on ASP.NET delegation:

#ASP.NET Delegation
http://msdn.microsoft.com/library/en-us/vsent7/html/vxconaspnetdelegation.as
p?frame=true

#How to configure an ASP.NET application for a delegation scenario
http://support.microsoft.com/default.aspx?scid=kb;en-us;810572

#How To: Use Impersonation and Delegation in ASP.NET 2.0
http://msdn.microsoft.com/library/en-us/dnpag2/html/paght000023.asp?frame=tr
ue

When the webserver is WIN2K, there needs more configuration due to the
win2k server's particular OS security setting....


#How To Implement Kerberos Delegation for Windows 2000
http://msdn.microsoft.com/library/en-us/secmod/html/secmod19.asp?frame=true

#Understanding Kerberos Credential Delegation in Windows 2000 Using the
TktView Utility
http://msdn.microsoft.com/msdnmag/issues/0500/security/default.aspx


In addition, I remember that we can find some webcasts in the TechNet site
about configuring IIS to suit kerberos delegation scenario....

http://www.microsoft.com/windowsserver2003/iis/support/webcasts.mspx


Hope helps. Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)







--------------------
| X-Tomcat-ID: 248895157
| References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain
| Content-Transfer-Encoding: 7bit
| From: (e-mail address removed) (Steven Cheng[MSFT])
| Organization: Microsoft
| Date: Thu, 01 Dec 2005 12:20:02 GMT
| Subject: RE: accessing WebService from asp.net App on load balanced
Servers
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| Message-ID: <[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| Lines: 323
| Path: TK2MSFTNGXA02.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.security:16465
| NNTP-Posting-Host: tomcatimport2.phx.gbl 10.201.218.182
|
| Hi Jason,
|
| Have you got any further ideas on this issue? If there're anything else
we
| can help, please feel free to post here.
|
| Thanks,
|
| Steven Cheng
| Microsoft Online Support
|
| Get Secure! www.microsoft.com/security
| (This posting is provided "AS IS", with no warranties, and confers no
| rights.)
| --------------------
| | X-Tomcat-ID: 280188595
| | References: <[email protected]>
| <[email protected]>
| <[email protected]>
| <[email protected]>
| <[email protected]>
| | MIME-Version: 1.0
| | Content-Type: text/plain
| | Content-Transfer-Encoding: 7bit
| | From: (e-mail address removed) (Steven Cheng[MSFT])
| | Organization: Microsoft
| | Date: Tue, 29 Nov 2005 11:34:27 GMT
| | Subject: RE: accessing WebService from asp.net App on load balanced
| Servers
| | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | Message-ID: <[email protected]>
| | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | Lines: 275
| | Path: TK2MSFTNGXA02.phx.gbl
| | Xref: TK2MSFTNGXA02.phx.gbl
| microsoft.public.dotnet.framework.aspnet.security:16454
| | NNTP-Posting-Host: tomcatimport2.phx.gbl 10.201.218.182
| |
| | Thanks for your response Jason,
| |
| | Yes, if you're able to successfully implement the kerberos
authentication
| | configuration from the client (browser side....) to your web server
and
| | the remote webservice server (all in the same 2000 or 2003 domain or
| | trusted domain...), and all the user accounts meet the requirement, the
| | kerberos token can be forwared from webserver to remote webservice
| server...
| |
| | Thanks,
| |
| | Steven Cheng
| | Microsoft Online Support
| |
| | Get Secure! www.microsoft.com/security
| | (This posting is provided "AS IS", with no warranties, and confers no
| | rights.)
| | --------------------
| | | Thread-Topic: accessing WebService from asp.net App on load balanced
| | Servers
| | | thread-index: AcX0iRkP/iqm3QbgRIq9MZI1zHBZxA==
| | | X-WBNR-Posting-Host: 134.134.136.2
| | | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | | References: <[email protected]>
| | <[email protected]>
| | <[email protected]>
| | <[email protected]>
| | | Subject: RE: accessing WebService from asp.net App on load balanced
| | Servers
| | | Date: Mon, 28 Nov 2005 18:03:31 -0800
| | | Lines: 210
| | | Message-ID: <[email protected]>
| | | MIME-Version: 1.0
| | | Content-Type: text/plain;
| | | charset="Utf-8"
| | | Content-Transfer-Encoding: 7bit
| | | X-Newsreader: Microsoft CDO for Windows 2000
| | | Content-Class: urn:content-classes:message
| | | Importance: normal
| | | Priority: normal
| | | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | | Path:
TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | | Xref: TK2MSFTNGXA02.phx.gbl
| | microsoft.public.dotnet.framework.aspnet.security:16453
| | | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | |
| | | Would Constrained Delegation not give me a solution here? This is an
| | Intranet
| | | application and my undertstanding of constrained delegation is that
the
| | | Original user impersonation will carry through to the back end
server??
| | |
| | | "Steven Cheng[MSFT]" wrote:
| | |
| | | > Thanks for your response Jason,
| | | >
| | | > Actually, this limit is due to the windows NTLM authentication
which
| | dosn't
| | | > allow an authenticated logon session to double hop multpile
| machines.
| | So
| | | > the client implicit impersonated credential can only access asp.net
| | | > server's protected resource but not another remote machine... In
| | | > addition to kerberos delegation (which require all the computers
| | involve in
| | | > the application's process stream be configured correctly.....),
| | another
| | | > apprach is we programmatically impersonate the client user, such
| | | > programmatic imperosated session will also be remotable to other
| | machines.
| | | > However, programatically impersonate require clear text
| | | > username/password....
| | | >
| | | > #How to configure an ASP.NET application for a delegation scenario
| | | > http://support.microsoft.com/default.aspx?scid=kb;en-us;810572
| | | >
| | | > Anyway, delegate authenticated credential multiple hops is not good
| | ideas
| | | > since whenever it skip a more hop, the possibility that the context
| be
| | | > hacked increate. Also, performance overhead is also involved.
| | | >
| | | > Thanks,
| | | >
| | | > Steven Cheng
| | | > Microsoft Online Support
| | | >
| | | > Get Secure! www.microsoft.com/security
| | | > (This posting is provided "AS IS", with no warranties, and confers
no
| | | > rights.)
| | | >
| | | >
| | | >
| | | > --------------------
| | | > | Thread-Topic: accessing WebService from asp.net App on load
| balanced
| | | > Servers
| | | > | thread-index: AcXz1GaMvzInGwjYToWaojb031lHHQ==
| | | > | X-WBNR-Posting-Host: 134.134.136.1
| | | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | | > | References: <[email protected]>
| | | > <[email protected]>
| | | > | Subject: RE: accessing WebService from asp.net App on load
balanced
| | | > Servers
| | | > | Date: Sun, 27 Nov 2005 20:30:02 -0800
| | | > | Lines: 120
| | | > | Message-ID: <[email protected]>
| | | > | MIME-Version: 1.0
| | | > | Content-Type: text/plain;
| | | > | charset="Utf-8"
| | | > | Content-Transfer-Encoding: 7bit
| | | > | X-Newsreader: Microsoft CDO for Windows 2000
| | | > | Content-Class: urn:content-classes:message
| | | > | Importance: normal
| | | > | Priority: normal
| | | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | | > | Path:
| | TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | | > | Xref: TK2MSFTNGXA02.phx.gbl
| | | > microsoft.public.dotnet.framework.aspnet.security:16434
| | | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | | > |
| | | > | Steven,
| | | > |
| | | > | Thanks for your response. Unfortunately landing the web service
on
| | the
| | | > same
| | | > | server as the asp.net application is not an option. Neither is
| using
| | a
| | | > | hardcoded ID as the web service recognizes the user and sets the
| | response
| | | > | appropriately. I am amazed that there is no other option. Does
the
| | 2.0
| | | > | framework change anything? I have tried to create an assembly
using
| | | > | EnterpriseServices to handle the impersonation also but it still
| will
| | not
| | | > | send the users credentials.. Can you confirm with your colleages
if
| | this
| | | > is
| | | > | possible with the current framework? or not? This problem seems
to
| | remove
| | | > the
| | | > | benefit of using a Web Service for the back end data provider...
| | | > |
| | | > | Thanks
| | | > | Jason
| | | > |
| | | > |
| | | > | "Steven Cheng[MSFT]" wrote:
| | | > |
| | | > | > Hi Jason,
| | | > | >
| | | > | > Welcome to asp.net newsgroup.
| | | > | > From your description,you're accessing an ASP.NET webservice
from
| | an
| | | > | > asp.net webapplication, the the web application
| | | > | > turn on impesonate so as to use the client user's credential
to
| | access
| | | > the
| | | > | > webservice(authenticated protected...)
| | | > | > However, he found that this worked only when the webservice is
on
| | the
| | | > same
| | | > | > machine with the web applicaiton...
| | | > | > Elsewise, you'll get 401 error, yes?
| | | > | >
| | | > | > Based on my experience, this problem is caused by the
limitation
| of
| | | > normal
| | | > | > windows NTLM authentication's generated logon session. By
default
| | the
| | | > | > asp.net implicit impersonated client logon session are network
| | logon
| | | > | > sessions, they have not network credentials. So it is ok for
| | accessing
| | | > | > protected resources on the same box (with the asp.net web
| | | > application...),
| | | > | > however, when try accessing some remote protected resources...
| | we'll
| | | > get
| | | > | > access error since no security credential is sent (network
logon
| on
| | | > session
| | | > | > can not be forwarded to remote machine...). This is a typical
| | double
| | | > hop
| | | > | > limit...
| | | > | >
| | | > | > So as for your scenario, the most recommended and simplest
means
| is
| | to
| | | > use
| | | > | > a fixed privileged account to access the remote webservice in
| your
| | | > asp.net
| | | > | > web application (avoid using the implict impersonated client
| user's
| | | > | > credential....). Or you can consider still maintain the
| webservice
| | on
| | | > the
| | | > | > same server with the asp.net web app....
| | | > | > And for the Kerberos you mentioned, yes, it is possible to
| | configure
| | | > | > kerberos delegation between client and our asp.net
webapplication
| | so as
| | | > to
| | | > | > establish kerberos ticket which can be forwarded to multiple
| remote
| | | > | > machine(mulitple hops...), but using kerberos delegation may
| | require
| | | > | > complex configuration on both client side (browser ) and
| serverside
| |
| | | > | > (including asp.net web app's server and webservice's server ,
| also
| | the
| | | > | > win2k or win2003 domain.....), so we do not recommend using
this
| | | > approach
| | | > | > ......
| | | > | >
| | | > | > Thanks,
| | | > | >
| | | > | > Steven Cheng
| | | > | > Microsoft Online Support
| | | > | >
| | | > | > Get Secure! www.microsoft.com/security
| | | > | > (This posting is provided "AS IS", with no warranties, and
| confers
| | no
| | | > | > rights.)
| | | > | >
| | | > | > --------------------
| | | > | > | Thread-Topic: accessing WebService from asp.net App on load
| | balanced
| | | > | > Servers
| | | > | > | thread-index: AcXzLeCUpK/csZhpRky0PT9rpnnVbw==
| | | > | > | X-WBNR-Posting-Host: 134.134.136.1
| | | > | > | From: "=?Utf-8?B?SmFzb24=?=" <[email protected]>
| | | > | > | Subject: accessing WebService from asp.net App on load
balanced
| | | > Servers
| | | > | > | Date: Sun, 27 Nov 2005 00:38:01 -0800
| | | > | > | Lines: 19
| | | > | > | Message-ID:
<[email protected]>
| | | > | > | MIME-Version: 1.0
| | | > | > | Content-Type: text/plain;
| | | > | > | charset="Utf-8"
| | | > | > | Content-Transfer-Encoding: 7bit
| | | > | > | X-Newsreader: Microsoft CDO for Windows 2000
| | | > | > | Content-Class: urn:content-classes:message
| | | > | > | Importance: normal
| | | > | > | Priority: normal
| | | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| | | > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.security
| | | > | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| | | > | > | Path:
| | TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGXA03.phx.gbl
| | | > | > | Xref: TK2MSFTNGXA02.phx.gbl
| | | > | > microsoft.public.dotnet.framework.aspnet.security:16428
| | | > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.security
| | | > | > |
| | | > | > | Hi,
| | | > | > |
| | | > | > | I have an ASP.Net application that retrieves Data from a Web
| | Service.
| | | > | > When
| | | > | > | the Web service resides on the same server I have no problem
| and
| | the
| | | > | > asp.net
| | | > | > | page functions as expected. I am using impersonation and the
| | | > credentials
| | | > | > are
| | | > | > | being passed to the web service as expected.
| | | > | > |
| | | > | > | Now, when the web service resides on a different server the
| | | > credentials
| | | > | > are
| | | > | > | not passed to the webservice and the asp application receives
a
| | 401
| | | > | > Error. I
| | | > | > | have seen emails about using kerberos but have not been
| | successful in
| | | > | > getting
| | | > | > | it to work. Could this be because I am using Load balanced
| | servers?
| | | > | > (Using
| | | > | > | Application Server) I thought this worked when using Windows
| 2000
| | | > Server
| | | > | > but
| | | > | > | I am now using Windows 2003 Server. Can you tell me What
| specific
| | | > steps I
| | | > | > | need to take for my asp.net application to function and
| retrieve
| | | > content
| | | > | > from
| | | > | > | a web service passing the credentials of the original user
| using
| | the
| | | > | > asp.net
| | | > | > | application??
| | | > | > | Thanks
| | | > | > | Jason
| | | > | > |
| | | > | > |
| | | > | >
| | | > | >
| | | > |
| | | >
| | | >
| | |
| |
| |
|
|
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top