English 中文(简体)
某些用户的ASP.NET IIS身份验证问题
原标题:ASP.NET IIS Authentication issue for some users

我有一个在IIS6.0上运行的ASP.NET存储库网站,我有一种无法重现的问题,但每次都有三个用户有这个问题(大约20个其他用户运行得很好)。我很确定这与IIS身份验证设置有关,但我肯定没有排除编码错误的可能性。

用户告诉我,三个出现错误的人的共同因素是他们已经将60多个文档上传到了网站上。所有的用户都在不同的省份,所以我只有他们拍摄的屏幕截图和服务器事件日志来调试。

当试图转到ViewPage.aspx页面(但不是网站上的任何其他页面)时,系统会提示他们输入用户凭据。当他们尝试登录时,会再次收到登录提示。他们尝试登录三次后,会收到以下错误消息:

HTTP错误401.1-未经授权:由于凭据无效,访问被拒绝。

系统事件查看器具有以下警告(其中任意一个警告超过10个):

EventID:1011
Source: W3SVC
Description:
A process serving application pool SDAAppPool suffered a fatal communication error with the World Wide Web Publishing Service. The process id was 3264 . The data field contains the error number.

EventID:1009
Source: W3SVC
Description:
A process serving application pool SDAAppPool terminated unexpectedly. The process id was 2088 . The process exit code was 0x800703e9 .

安全事件查看器具有以下几种故障审核:

EventID: 560
Source: Security
Category: Object Access
Description:
Object Open:
Object Server: SC Manager
Object Type: SERVICE OBJECT
Object Name: WinHttpAutoProxySvc
H和le ID: -
Operation ID: {0,557880730}
Process ID: 444
Image File Name: C:WINDOWSsystem32services.exe
Primary User Name: EBTOPVNET01$
Primary Domain: EBSS
Primary Logon ID: (0x0,0x3E7)
Client User Name: NETWORK SERVICE
Client Domain: NT AUTHORITY
Client Logon ID: (0x0,0x3E4)
Accesses: Query status of service
Start the service
Query information from service
Privileges: -
Restricted Sid Count: 0
Access Mask: 0x94

应用程序事件查看器存在以下错误:

EventID: 5000
Source: .NET Runtime 2.0 Error
User: N/A
Description:
EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d691cc, P4 system.data, P5 2.0.0.0, P6 4889ece0, P7 1849, P8 0, P9 system.stackoverflowexception, P10 NIL.

我的web.config具有以下身份验证/授权代码:

<authentication mode="Windows"/>
<authorization>
    <deny users="?"/>
</authorization>

和 I use the following user check on the ViewPage.aspx page:

UsersService us = new UsersService();
TList<Users> currUser = us.Find("Ntid =  " + User.Identity.Name + " ");
int userID = 0;
if (currUser.Count != 0 )
{
    userID = currUser[0];
}

和 use that userID for checking access 和 such. If the userID == 0 they get read access only (which I would think would give the users read access instead of 401 errors if User.Identity.Name returned empty). I do the same user check on another page 和 the users have no problems accessing it.

根据我几天在谷歌上搜索的各种子问题,我不确定所有这些事实是否都相关,但我已经包括了我能想到的一切。如果我错过了任何相关的事情,请告诉我。如果有任何关于从哪里开始调查的想法,或者能够在我的本地主机上复制这些想法以便进行调试的方法,我们将不胜感激。谢谢

最佳回答

从进程出口代码来看,似乎正在进行某种递归,而且从未展开。令人惊叹的Tess Ferrandez解释了如何调试此类问题:

.NET崩溃:如何不编写全局异常处理程序

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签