Недавно я начал писать веб-часть AJAX для использования в SharePoint, и у меня странная ошибка. Кажется, что EnsurePanelFix () заставляет веб-часть выдавать ошибку 401; в журнале одновременно появляются ошибки 401.2 и 401.3. Я внес некоторые изменения в EnsurePanelFix () после небольшого исследования здесь и на некоторых других сайтах, и в настоящее время он выглядит следующим образом:
void EnsurePanelFix
{
// Change AJAX doPostBack behavior to fix the update panel.
if (this.Page.Form != null)
{
String fixupScript = @"
if (typeof(_spBodyOnLoadFunctionNames) !== 'undefined'){
_spBodyOnLoadFunctionNames.push(""_initFormActionAjax"");
function _initFormActionAjax() {
if (_spEscapedFormAction == document.forms[0].action){
document.forms[0]._initialAction =
document.forms[0].action;
}
}
RestoreToOriginalFormAction = function() {
if (_spOriginalFormAction != null) {
if (_spEscapedFormAction==document.forms[0].action){
document.forms[0].action=_spOriginalFormAction;
}
_spOriginalFormAction=null;
_spEscapedFormAction=null;
document.forms[0]._initialAction = document.forms[0].action;
}
};
}";
string scriptKey = "UpdatePanelFixup";
if (!Page.ClientScript.IsClientScriptBlockRegistered(scriptKey))
ScriptManager.RegisterStartupScript(this, typeof(SpecDatabaseViewer), scriptKey, fixupScript, true);
ScriptManager.RegisterStartupScript(this,
typeof(SpecDatabaseViewer), "UpdatePanelFixup",
fixupScript, true);
}
Наблюдая за журналом безопасности, я вижу, что сбои регистрируются так:
Event Type: Failure Audit
Event Source: Security
Event Category: Object Access
Event ID: 560
Date: 1/6/2010
Time: 11:46:34 AM
User: NT AUTHORITY\NETWORK SERVICE
Computer: SHAREPOINT
Description:
Object Open:
Object Server: SC Manager
Object Type: SERVICE OBJECT
Object Name: WinHttpAutoProxySvc
Handle ID: -
Operation ID: {0,69477107}
Process ID: 404
Image File Name: C:\WINDOWS\system32\services.exe
Primary User Name: SHAREPOINT$
Primary Domain: SPDOMAIN
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
Существует несколько проверок сбоев, единственными отличающимися данными между которыми является идентификатор операции.
Может кто-нибудь увидеть причину, по которой у меня возникли бы проблемы с аутентификацией или разрешением файлов, учитывая, что без этого куска кода все работает нормально? Спасибо.
РЕДАКТИРОВАТЬ: Я почти уверен, что это как-то связано с ACL, но я не совсем уверен, где искать ресурсы, которые могут вызывать проблему.