在 Windows Server 2008 R2 Enterprise (7601: SP1) 上运行 IIS 7.5.7600.16385。我们的一个网站设置为全局记录错误,我们每天或两天都会看到这种情况。我们在 web.config 中使用了一个授权属性来检查用户角色的访问权限,以及 IIS 或 MVC 使用的任何代码都会生成此错误。这通常由单个局部视图触发,但我们也看到它偶尔会在获取 css 或 js 资源时触发。
System.Configuration.Provider.ProviderException: API failed due to error 'The data area passed to a system call is too small. '
at System.Web.Security.WindowsTokenRoleProvider.GetRolesForUser(String username)
at System.Web.Security.RolePrincipal.IsInRole(String role)
at System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal)
at System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb)
at System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb)
at System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
我们网站的 IIS 设置是否不正确?知道发生了什么吗?我们可以通过日志中的用户名看到该用户正在通过 IWA 正确地进行身份验证。