473,756 Members | 1,904 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

ASP.NET 1.1 Application Pool Identity and user authentication problem with AD (Active Directory)

Hello all,

Here is the context of my problem:

We have an ASP.NET 1.1 application that has its own application pool
setup and that runs under the identity of a NT Domain service account
(this is for security reason when accessing databases). We use the
Integrated Windows authentication to authenticate users, and we have
setup the Web.config file to authenticate those users against 3 NT
Domain Global Groups. Everything is working fine (the application is
up and running since 1.5 year already) and security is respecting the
application's security requirements.

We are in the process of moving all of our servers (including this IIS
6.0 server) into AD (Active Directory). This week was this server's
turn to be migrated and everything turns out ok from a migration point
of view. What is not working anymore is is the authentication of
users.

Remember I just said that the application pool is running under a NT
Domain service account? Well since we are moving to AD, we also have
to move the user accounts (and service accounts) into AD. So we are
now using an AD service account to run the application pool. So far so
good, but to our dismay, we are unable to authenticate any users
anymore! It looks like IIS's new Application Pool identity isn't able
to validate against AD properly. Me and the migration team have check
a lot of things, but we must be missing something trivial.

If anyone can point me into some direction, I would appreciate.

And here is and excerp from our Web.config file concerning the
authentication and authorization.

<system.web>
....
<authenticati on mode="Windows" />
<identity impersonate="fa lse"/>
<authorizatio n>
<allow roles="AD\group 1, AD\group2, AD\group3" />
<deny users="*" />
</authorization>
....
</system.web>

And yes, the <identity impersonate="fa lse"/> is correct since we are
using the Application's Pool identity.

Thank you for any help!
P.J

Nov 20 '05 #1
4 4660
the application pool controls the account the asp.net worker process runs
under. windows authenication is performed by IIS, not asp.net. IIS just
passes the security token to the worker process. check the vdir settings
still have anonymous turned off. also the server must be trusted by the ad.

check that you can logion with an ad account on the webserver.

-- bruce (sqkwork.com)


<pj*********@gm ail.com> wrote in message
news:11******** *************@z 14g2000cwz.goog legroups.com...
Hello all,

Here is the context of my problem:

We have an ASP.NET 1.1 application that has its own application pool
setup and that runs under the identity of a NT Domain service account
(this is for security reason when accessing databases). We use the
Integrated Windows authentication to authenticate users, and we have
setup the Web.config file to authenticate those users against 3 NT
Domain Global Groups. Everything is working fine (the application is
up and running since 1.5 year already) and security is respecting the
application's security requirements.

We are in the process of moving all of our servers (including this IIS
6.0 server) into AD (Active Directory). This week was this server's
turn to be migrated and everything turns out ok from a migration point
of view. What is not working anymore is is the authentication of
users.

Remember I just said that the application pool is running under a NT
Domain service account? Well since we are moving to AD, we also have
to move the user accounts (and service accounts) into AD. So we are
now using an AD service account to run the application pool. So far so
good, but to our dismay, we are unable to authenticate any users
anymore! It looks like IIS's new Application Pool identity isn't able
to validate against AD properly. Me and the migration team have check
a lot of things, but we must be missing something trivial.

If anyone can point me into some direction, I would appreciate.

And here is and excerp from our Web.config file concerning the
authentication and authorization.

<system.web>
...
<authenticati on mode="Windows" />
<identity impersonate="fa lse"/>
<authorizatio n>
<allow roles="AD\group 1, AD\group2, AD\group3" />
<deny users="*" />
</authorization>
...
</system.web>

And yes, the <identity impersonate="fa lse"/> is correct since we are
using the Application's Pool identity.

Thank you for any help!
P.J

Nov 20 '05 #2
After more than two weeks digging in this problem, I have some
interesting things to share in order to help anyone with this kind of
problem.

First, I will point you to a couple of articles that we tackled with
but still with no success.
Next, I will tell you how to replicated the problem if you want to
experiment and try solving it.

This first article describes exactly the problem we have.
Unfortunately, the solution proposed can't be adopted since we have
multiple application pool each running under its own specific domain
account. The workaround proposed is one that we might use in the last
resort because we do not want to rely on NTLM anymore to perform
authentication.
http://support.microsoft.com/kb/871179/en-us

The next article explain why anthentication uses NTLM instead of
Kerberos:
http://technet2.microsoft.com/Window...6e8dd1033.mspx

This one indicates on to configures IIS to support both Kerberos and
NTLM authentication:
http://support.microsoft.com/kb/215383/EN-US/

Another Kerberos article on user belonging to too many groups:
http://support.microsoft.com/?kbid=280830

This last two articles is about delegating authentication and we have
not yet investigate it:
http://www.microsoft.com/technet/pro...a81454cfe.mspx
http://www.microsoft.com/technet/pro...5d2159199.mspx
In order for some of you to replicate the problem we have and to try
their hands on it, follow these lines to create a very simple .NET
application.

1- On a Windows Server 2003, put an ASP.NET 1.1 application (that you
made on your dev station) that does nothing (no lines of code in it)
except maybe printing a message ;

2- In IIS Manager, create a new application pointing to the folder you
just copied you application. Be sure that only Windows integrated
authentication is selected in 'Directory Security'

3- Still in IIS Manager, create a new application pool, and under the
'Identity' tab, click the radio-button 'Configurable' and type in a
service account from your Active Directory and its password; Set your
application to use the new application pool you just created.

4- Add this selected Active Directory account to the local group
IIS_WPG;

5- Add the Read NTFS rights for this Active Directory account on the
folder of your application and the local Users groups too;

6- In the Web.config file of your application, check that these
settings are like those in the <system.web> section:

<authenticati on mode="Windows" />
<identity impersonate="fa lse" />
<authorizatio n>
<allow users="*" />
</authorization>

7- Try to access your site to your *.aspx page and you should be
prompted to authenticated even though you have the rights to access it.

Well I have no more time to write more at the moment, but I will come
back with news as soon as I have.
Thx!
P.J

Nov 30 '05 #3
Also, the info on David Wang's blog about Kerberos and authentication
error is quite, eh, surprising I must say, since it looks like this was
'common knowledge'.

http://blogs.msdn.com/david.wang/default.aspx
Go on his site and search for 'kerberos' keyword with is search tools,
then do a CTRL+F and look for this string on the resulting page:
401.1 Denied by Invalid User Credentials

Nov 30 '05 #4
The following article from Microsoft finally explain why the problem we
encountered is 'normal':

http://www.microsoft.com/technet/pro...7.mspx?pf=true

Unfortunately for us, we have to rethink some aspect of the application
since we put a lot on using the application pool to heighten the
security and access between services. Too bad our application were
made before moving to AD because we would have change the architecture
some how.

At least, we can make everything work by 'turning on' the NTLM
authentication, but we can't live with this for very long I'm afraid.

I hope that this had help some of you with the same problem, and I do
hope that I help other planned their architure on NOT using specific
identity with their application pool, but to stay with the 'Network
Service' accound since this always work (and for more reason than only
authentication - those of you who have found my previous posting this
year about the worker process recycling not working as expected when
NOT running under Network Service know what I am talking about.

Good Luck people!

Dec 5 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
4026
by: Shishir | last post by:
Hi Guys, Scenario:: I am using appplication pool identity to connect my database through ASP.NET application. the identity is domain identity and i am giving as domainname\username and with its password. I am using Windows Integrated authentication for my ASP.NET application and application pool's identity is part of IIS_WPG users group. I am using VS.NET 2003 i.e. .NET framework v1.1.4322.
7
1622
by: Stephen | last post by:
I have my intranet setup on our web server. It contains multiple applications, but none are set up in the default application pools. In other words, I create a webform and plop it into a directory on the web server. My question revolves around security models for the applications. I have been rethinking my current security strategy, which is basically as follows: dim strUser as string=ucase(User.Identity.Name) dim boolAccess as...
1
2537
by: Mike Moore | last post by:
Does anyone have suggestions on the best way to check if a user is logged into asp.net web application? We are not using forms authentication. We are authenticating our users against active directory. I some people use the database to determine if a user is logged in between web pages and check in the web forms.
1
1829
by: Gerry | last post by:
I have an ASP.NET application installed on a Windows Server 2003 computer. MS Excel is also installed on the same computer. And yes, the application makes use of Excel. When the Application Pool Identity for the pool in which this application resides is set to the default (NetworkService), everything runs as expected. However, for this application to work, it is necessary that I use a different user account. And when I do, there is a...
5
6947
by: Jon Skeet [C# MVP] | last post by:
I've run against a problem which I'm *sure* must be easy to solve - but I'm blowed if I can find the answer :( I have a web service which I want to require authentication. I need to authenticate using a database lookup, so Windows, Passport and Forms authentication are (as far as I can tell) no good to me. I don't need impersonation. I would like to use HTTP basic or preferrably digest authentication -
0
1516
by: mcrose | last post by:
I couldn't find anything that quite described this in whole, so I'm going to post it since from what I can tell about 400 other people have posted asking how to do this and received partial answers To set up an IIS 6.0 application that can access a UNC drive. 1. Create/Identify a domain account with access to the required UNC location 2. Add that user to the IIS_WPG group on the Web Server 3. Create an application pool on the Web...
0
2069
by: jordo | last post by:
I have an asp.Net app that connects to the WSS 2.0 list web service. I'm having issues with IIS and .Net configurations and hope that someone can help me. My ideal configuration is: asp.net: Authentication Mode=Windows Identity Impersonate=False IIS Allow Anonymous Disabled Integrated Windows Authentication Enabled Application Pool Identity = domain account with access to WSS site app
3
2819
by: Brian McCullough | last post by:
Hello, I am trying to query ADAM using the ActiveDirectoryMembershipProvider in my ASP.NET 2.0 application, but have been unsuccessful. I have followed the steps in these blog posts, but still am not able to query ADAM. Every time I make a call to login, using the Membership.ValidateUser method, I keep getting a false value. I have tried many different variations of the username including "localhost\myuseraccount",...
3
4722
by: Joseph Geretz | last post by:
I created a new Application Pool for my ASP.NET application since I want it to run under a specific user identity with privileges to access the application database. (I don't want to grant access to the entire Network Service account.) I know the application pool is fundamentally sound because it runs my application when its identity is set to the default Network Service account. When I change its identity to the desired local user...
0
9456
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9872
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9843
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8713
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7248
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6534
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5142
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5304
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3358
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.