2009-07-22 28 views
1

我们正在使用dtSearch的ASP.NET 1.1版本,并且存在影响我们的用户使用Active Directory(AD)进行身份验证的问题。此问题也影响同一网站中的另一个自定义内部.NET 1.1 DLL。.NET 1.1 DLL网站访问问题(对于非ADMINS访问被拒绝)

当一个标准用户在一段时间不活动后进入搜索状态时,该站点将在下面给出错误。在服务器管理员点击搜索页面后,它可以工作 - 这里是奇怪的部分 - 最终用户可以点击搜索页面并运行查询。你知道什么可能导致这个错误?

我们正在使用dtSearch 7.61(Build 7769)和.NET 1.1 dll。索引和网站位于同一台服务器上。

至于自定义DLL,同样的事情发生。管理员必须在最终用户面前击中网页。

该DLL是本地的网站 - 它们不在GAC中。我们在Windows Server 2003上。用户使用AD进行身份验证。

感谢您的帮助,

德克

-----邮件原件----- 发送时间:2009年06月,7月22日,上午8:13 主题:外网Unexpect错误

用户访问外网时发生错误。详细信息如下:

*应用程序名称:xxxxappnamexxxx

*错误时间:7/22/2009上午8点12分54秒

*错误类型:System.IO.FileLoadException

*错误消息:访问被拒绝:'dtSearchNetApi'。

*堆栈跟踪: 在SearchControls.SearchDAL.GetIndexId(字符串indexedDocumentPath) 在SearchControls.SearchDAL.GetAvailableDocuments(字符串AREANAME,的Int32 crossArea,的Int32活性,字符串categoryId) 在SearchControls.SearchDAL.Search(字符串AREANAME, INT32 crossArea,INT32活性,字符串categoryId,字符串strCriteria,INT32 & TotalRowCount) 在SearchControls.SearchResults.SearchResult() 在SearchControls.SearchResults.Render(HtmlTextWriter的输出) 在System.Web.UI.Control.RenderControl(HtmlTextWriter的作家) 在System.Web.UI.Control.RenderChildren(HtmlTextWriter作家) 在System.Web。 UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI .Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.Control.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Page。ProcessRequestMain()

* URL变量:http://xxxxxsitenamexxxxxx/Search.aspx?areaName=matter&crossArea=0&active=0&categoryid=b9de78ae-3085-4ee2-9372-9150b7289455&sCriteria=first修正案

*表单变量:

*错误来源:SearchControls

*错误TargetSite:的Int32 GetIndexId(System.String)

*登录用户:xxxdomainxxx \ xxxxxusernamexxxxxx

*用户IP:xxxxxxxxxxxxx

* Template Path:/Search.aspx

回答

1

您是否尝试过运行Process Monitor以查看被访问程序集的线程标识?如果使用Windows身份验证,如果您有模拟身份,则会尝试以实际用户的身份访问资源。如果您的文件系统没有适当的权限设置,则可能导致访问被拒绝。

只是一个虽然....虽然我不能肯定地说我怀疑可能有一个进程调用Assembly.Load,它无法作为用户打大会。当管理员访问它时,组件被加载到AppDomain中并为其他用户缓存。

1

您是否正在运行防病毒或任何类型的搜索索引器?已经知道一些这样的应用程序保持在DLL上。

+0

索引服务未开启。防病毒设置为不运行全面扫描 - 仅用于执行活动监控。无论如何,asp.net临时文件目录都被排除在防病毒手表之外。我们正在采取措施排除实际的网站文件 - 这包括有问题的DLL。 – dirq 2009-07-22 17:24:45

+0

好。另外,你是否与.NET 1.1补丁最新?这是如此古老,至少你会有更好的最新的东西。 – 2009-07-22 17:33:29