现象
在事件查看器的日志中,会有以下警告信息:
对象缓存: 未配置缓存使用的超级用户帐户。这可能会增加缓存未命中数,导致页面请求使用不必要的系统资源。
若要配置帐户,请使用以下命令 'stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl'。此帐户必须是对 SharePoint 数据库具有完全控制权限的任何帐户,而不是应用程序池帐户。
附加数据:
当前默认超级用户帐户: SHAREPOINT\system
当去访问一个发布页面时,页面会报错,事件查看器日志中会有以下警告:
Event code: 3005
Event message: 发生了未处理的异常。
Event time: 2012/11/13 11:52:38
Event time (UTC): 2012/11/13 3:52:38
Event ID: 497ba228589e4ff2a192bf6582f525c9
Event sequence: 310
Event occurrence: 2
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1949916159/ROOT-1-129972506606997458
Trust level: WSS_Minimal
Application Virtual Path: /
Application Path: C:\inetpub\wwwroot\wss\VirtualDirectories\80\
Machine name: SJ-MOSS-04
Process information:
Process ID: 4684
Process name: w3wp.exe
Account name: XXXX\sharepoint_admin
Exception information:
Exception type: SPException
Exception message: 此用户不存在或不唯一。
Request information:
Request URL: http://xxxx.com/sites/informationcenter/SitePages/Home.aspx
Request path: /sites/informationcenter/SitePages/Home.aspx
User host address: 10.72.29.35
User: 0#.f|admembership|XXXX
Is authenticated: True
Authentication Type: Federation
Thread account name: XXXX\sharepoint_admin
Thread information:
Thread ID: 18
Thread account name: XXXX\sharepoint_admin
Is impersonating: False
Stack trace: 在 Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
在 Microsoft.SharePoint.Library.SPRequest.GetUserToken(String bstrUrl, String bstrLogin)
在 Microsoft.SharePoint.SPWeb.GetUserToken(String userName)
在 Microsoft.SharePoint.Publishing.CacheManager.<.ctor>b__0(SPSite newSite)
在 Microsoft.SharePoint.Publishing.CommonUtilities.<>c__DisplayClass1.<RunWithElevatedSite>b__0()
在 Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2()
在 Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
在 Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
在 Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
在 Microsoft.SharePoint.Publishing.CommonUtilities.RunWithElevatedSite(SPSite siteNonElev, Boolean allowUnsafeUpdates, ElevatedSiteProcessor callWithElevatedSite)
在 Microsoft.SharePoint.Publishing.CacheManager..ctor(SPSite site)
在 Microsoft.SharePoint.Publishing.CacheManager.GetManager(SPSite site, Boolean useContextSite, Boolean allowContextSiteOptimization)
在 Microsoft.SharePoint.Publishing.WebControls.CombinedBasePermissions..ctor()
在 Microsoft.SharePoint.Publishing.WebControls.ConsoleNode.CurrentPermissions()
在 Microsoft.SharePoint.Publishing.WebControls.ConsoleNode.CurrentState(Page currentPage, Boolean cacheResult)
在 Microsoft.SharePoint.Publishing.WebControls.EditingMenuActions.ConsoleAction.OnPreRender(EventArgs e)
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
原因
解决办法
使用管理中心创建用户帐户
使用 Windows PowerShell 向 Web 应用程序添加用户帐户
注意: |
可以使用其他文件名,但必须将 ANSI 编码的文件保存为扩展名为 .ps1 的文本文件。 |
参考资源:
配置对象缓存用户帐户:http://technet.microsoft.com/zh-cn/library/ff758656.aspx