I have recently migrated an application written in ASP classic to a server running IIS 7 (64bit) on Server 2008 Standard. I have IIS 6 compatibility installed, as well as basic and windows authentication modules. This server is part of a corporate domain. I am trying to establish windows authentication to this web server as well as a SQL 2005 server also running on Server 2008. My desire is to use windows authentication to the db server, and this is where my problem lies.
For more details, I have setup a custom site called CRM. This site has it's own application pool also called CRM. I have configured the application pool identity to use my domain account (for testing purposes since i know my account has rights to the db i'm trying to connect to.) When I enable windows authentication, I am able to successfully logon to the site and its ASP pages, however when calls to the db are made (using ADO) I get
Microsoft OLE DB Provider for SQL Server error '80040e4d'
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
So from this I assume even though i'm using my domain logon as the worker process identity, those credentials aren't simply passed when making calls to other resources on the network. Is there a way to do that? My end goal is to have users get into the site without having to type their credentials, and have their domain account provide access to the db rather than having to setup a generic sql login and use that in my connection string.
Clearly from the above error I am using OLEDB but I have also tried to set this up using a DSN connection via ODBC. Both resulted in the same error. So this doesn't seem to be a SQL problem, rather how credentials are being passed to sql from IIS. This setup will work if I use basic authentication, since it then just stores the id and password in cleartext. But I don't want to go that route for obvious reasons.
Any help would be greatly appreciated! I've found a slew of documentation on this for .NET, but i'm not about to rewrite my whole app just to get authentication working properly.