When you search against Index Server through an ASP.NET page, you may receive the following error message:
Access is denied.
Description: An unhandled exception occurred
during the execution of the current web request. Please
review the stack trace for more information about the
error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Access is denied.
This behavior is observed only if you enable impersonation for the ASP.NET Web application and if the security context under which the ASP.NET worker process (Aspnet_wp.exe) runs is the ASPNET account.
Service pack information
To resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
260910Â
(http://kbalertz.com/Feedback.aspx?kbNumber=260910/
)
How to obtain the latest Windows 2000 service pack
Use one of the following methods to work around this problem:
- Disable impersonation for the whole ASP.NET Web application. This is the default setting.
- Disable impersonation only for the particular .aspx page that does the Index Server search. To do this, add a <location> tag to the Web.config file as follows:
<location path="filename.aspx">
<system.web>
<identity impersonate="false" />
</system.web>
</location>
If these workarounds are not acceptable to you, you may change the security context under which the ASP.NET worker process runs to the SYSTEM account. However, Microsoft does not recommend that you set the security context of the ASP.NET worker process to the SYSTEM account because the SYSTEM account is a highly privileged Administrator account on the Web server computer. Use this workaround
only if none of the other workarounds are acceptable to you.
To change the security context under which the ASP.NET worker process runs, set the
userName attribute to
SYSTEM, and then set the
Password attribute to
autogenerate in the
<processModel> section of the Machine.config file. The Machine.config file is located in the C:\
Windows Directory\Microsoft.Net\Framework\v1.0.3705\Config folder.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
This bug was corrected in ASP.NET (included with the .NET Framework) 1.1.
Microsoft has confirmed that this is a problem in Microsoft Windows 2000.
This problem was first corrected in Microsoft Windows 2000 Service Pack 4.
For more information about impersonation in ASP.NET, click the following article number to view the article in the Microsoft Knowledge Base:
306158Â
(http://kbalertz.com/Feedback.aspx?kbNumber=306158/
)
How to implement impersonation in an ASP.NET application
For more information about the ASP.NET worker process identity, click the following article number to view the article in the Microsoft Knowledge Base:
317012Â
(http://kbalertz.com/Feedback.aspx?kbNumber=317012/
)
Process and request identity in ASP.NET