设为首页 收藏本站
查看: 1132|回复: 0

[经验分享] SharePoint 2010高并发下异常“此用户不存在或不唯一”处理

[复制链接]

尚未签到

发表于 2015-9-28 11:18:35 | 显示全部楼层 |阅读模式
现象

在事件查看器的日志中,会有以下警告信息:

对象缓存: 未配置缓存使用的超级用户帐户。这可能会增加缓存未命中数,导致页面请求使用不必要的系统资源。

若要配置帐户,请使用以下命令 '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)


原因


  • 所有的发布内容会启用缓存以提高访问性能。
  • 环境配置了Form和AD认证,对象缓存用户帐户配置不正确。
  • 对环境进行高并发测试时诱发了此问题。

解决办法

使用管理中心创建用户帐户


  • 确认您拥有以下管理凭据:

    • 若要在管理中心中创建用户帐户,您必须是运行 SharePoint 管理中心网站的计算机上 Farm Administrators 组的成员。

  • 在管理中心网站上的“应用程序管理”部分,单击“管理 Web 应用程序”。
  • 单击想要配置的 Web 应用程序的名称。
  • 在“Web 应用程序”选项卡上的“策略”组中,单击“用户策略”。
    DSC0000.png
  • 在“Web 应用程序的策略”窗口中,单击“添加用户”。
    DSC0001.png
  • 从“区域”列表中,选择“所有区域”,然后单击“下一步”。
    DSC0002.png
  • 在“用户”框中,键入“门户超级用户”帐户的用户名。
    DSC0003.png
  • 单击“检查名称”图标以确保帐户名称可以被应用程序服务器上的身份验证提供程序解析。
  • 在“选择权限”部分,选中“完全控制 - 拥有完全控制权限”框。
  • 单击“完成”。
  • 对“门户超级读者”帐户重复步骤 5 到步骤 8。
  • 在“选择权限”部分,选中“完全读取 - 拥有完全只读权限”框。
  • 单击“完成”。
    DSC0004.png
  • 记下“对象缓存超级读者”和“对象缓存超级用户”帐户的名称在“用户名”列中的显示方式。显示的字符串会有所不同,具体取决于您是否对 Web 应用程序使用声明身份验证。
使用 Windows PowerShell 向 Web 应用程序添加用户帐户


  • 确认您满足以下最低要求:请参阅 Add-SPShellAdmin。
  • 复制以下代码并粘贴到文本编辑器(如记事本)中:
    $wa = Get-SPWebApplication -Identity "<WebApplication>"
    $wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
    $wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
    $wa.Update()
  • 将以下占位符替换为相应值:


  • <WebApplication> 是要将帐户添加到的 Web 应用程序的名称。
  • <SuperUser> 是要使用的“门户超级用户”帐户,显示在前面过程的步骤 14 中提到的“用户列”字段中。
  • <SuperReader> 是要使用的“门户超级读者”帐户,显示在前面过程的步骤 14 中提到的“用户列”字段中。

  • 保存文件,将其命名为 SetUsers.ps1。
                                                                                          

注意:

可以使用其他文件名,但必须将 ANSI 编码的文件保存为扩展名为 .ps1 的文本文件。


  • 关闭文本编辑器。
  • 在“开始”菜单上,单击“所有程序”。
  • 单击“Microsoft SharePoint 2010 产品”。
  • 单击“SharePoint 2010 Management Shell”。
  • 转到保存该文件的目录。
  • 在 Windows PowerShell 命令提示符处,键入以下命令: ./SetUsers.ps1
  • 重置 Internet Information Services (IIS)。

参考资源:

配置对象缓存用户帐户:http://technet.microsoft.com/zh-cn/library/ff758656.aspx


  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119923-1-1.html 上篇帖子: SharePoint 2013 的HTML5特性之响应式布局 下篇帖子: 一次SharePoint开发的敏捷实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表