SharePoint 事件 7363:对象缓存:缓存使用的超级读者帐户没有足够的权限访问SharePoint数据库。
转自MSND:http://technet.microsoft.com/zh-cn/library/ff758656(v=office.14)
对象缓存存储 Microsoft SharePoint Server 2010 中项目的相关属性。发布功能在呈现网页时使用此缓存中的项目。对象缓存的目标是减少运行 SQL Server 的计算机上的负载,并缩短请求延迟和增加吞吐量。对象缓存以两个自带用户帐户之一的身份来进行查询:“门户超级用户”和“门户超级读者”。必须正确配置这两个用户帐户,确保对象缓存正常运行。“门户超级用户”帐户必须对 Web 应用程序具有“完全控制”权限。“门户超级读者”帐户必须对 Web 应用程序具有“完全读取”权限。
![]() |
---|
“门户超级用户”和“门户超级读者”帐户必须是单独的帐户,不得用于登录网站。 |
本文介绍为什么必须配置以及如何配置这些对象缓存用户帐户。有关对象缓存的信息,请参阅缓存设置操作 (SharePoint Server 2010)。
在 SharePoint Server 2010 中,对项目的查询与进行查询的用户帐户关联在一起。发布功能的各个部分所进行查询的结果缓存在对象缓存中。这些结果根据执行查询的用户进行缓存。若要优化缓存命中率和内存要求,必须根据用户能否查看草稿项目来进行查询。当发布控件请求对象缓存进行查询以获取控件数据时,缓存不以提出请求的用户身份进行查询,而是以“门户超级用户”和“门户超级读者”帐户的身份分别进行一次查询。这两次查询的结果存储在对象缓存中。“门户超级用户”帐户的结果包括草稿项目,“门户超级读者”帐户的结果仅包括已发布项目。然后对象缓存会检查发起请求的用户的访问控制列表 (ACL),并根据该用户能否查看草稿项目将相应的结果返回给该用户。通过向 Web 应用程序添加“门户超级用户”和“门户超级读者”帐户,缓存只能为两个用户存储结果。这增加了针对查询返回的结果数,并减少了存储缓存所需的内存量。
默认情况下,“门户超级用户”是网站的系统帐户,“门户超级读者”帐户是 NT Authority\Local Service。使用自带帐户存在两个主要问题。
第一个问题是某些项目已签出到系统帐户,因此当进行的查询包括这些项目时,将返回项目的签出版本而不是最新发布的版本。这之所以是一个问题,因为这并不是用户期望返回的结果,因此缓存必须进行第二次查询以获取正确版本的文件。每当查询请求包含这些项目时,都会对服务器性能产生负面影响。对于已签出项目的任何用户,如果该用户的帐户被设置为“门户超级用户”帐户,也会发生同样的问题。这就是配置为“门户超级用户”和“门户超级读者”的帐户不应该用于登录网站的原因。这样可确保用户不会无意地签出项目而导致出现性能问题。
默认的“门户超级读者”帐户是 NT Authority\Local Service,这在声明身份验证应用程序中不会被正确解析。因此,如果没有为声明身份验证应用程序明确配置“门户超级读者”帐户,浏览到此应用程序下的网站集会导致出现“拒绝访问”错误,即使对网站管理员也是如此。对于显式使用对象缓存的任何功能(例如 SharePoint Server 发布基础架构、元数据导航、内容查询 Web 部件或导航),任何使用这些功能的网站都会发生此错误。
本文内容:
使用管理中心和 Windows PowerShell 配置对象缓存用户帐户
可以使用管理中心和 Windows PowerShell 为对象缓存配置用户帐户。必须先在管理中心网站中创建帐户,然后使用 Windows PowerShell 将帐户添加到 Web 应用程序中。必须将用户帐户添加到每个 Web 应用程序中。
![]() |
---|
在此过程完成后,必须重置 Internet Information Services (IIS) 以应用对 Web 应用程序所做的更改。请确保在对连接到网站的用户影响最小的情况下执行此过程。有关 IISReset 的详细信息,请参阅 IIS 重置活动(该链接可能指向英文页面)。 |
使用管理中心创建用户帐户
确认您拥有以下管理凭据:
若要在管理中心中创建用户帐户,您必须是运行 SharePoint 管理中心网站的计算机上 Farm Administrators 组的成员。
在管理中心网站上的“应用程序管理”部分,单击“管理 Web 应用程序”。
单击想要配置的 Web 应用程序的名称。
在“Web 应用程序”选项卡上的“策略”组中,单击“用户策略”。
在“Web 应用程序的策略”窗口中,单击“添加用户”。
从“区域”列表中,选择“所有区域”,然后单击“下一步”。
在“用户”框中,键入“门户超级用户”帐户的用户名。
单击“检查名称”图标以确保帐户名称可以被应用程序服务器上的身份验证提供程序解析。
在“选择权限”部分,选中“完全控制 - 拥有完全控制权限”框。
单击“完成”。
对“门户超级读者”帐户重复步骤 5 到步骤 8。
在“选择权限”部分,选中“完全读取 - 拥有完全只读权限”框。
单击“完成”。
记下“对象缓存超级读者”和“对象缓存超级用户”帐户的名称在“用户名”列中的显示方式。显示的字符串会有所不同,具体取决于您是否对 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)。有关 IISReset 的详细信息,请参阅 IIS 重置活动(该链接可能指向英文页面)
SharePoint 事件 7363:对象缓存:缓存使用的超级读者帐户没有足够的权限访问SharePoint数据库。的更多相关文章
- NHibernate系列文章八:NHibernate对象一级缓存
摘要 Nhibernatea缓存非常强大,按照缓存存储在Session对象还是SessionFactory对象分为一级缓存和二级缓存. 一级缓存存在于Session对象里,也叫Session缓存,由S ...
- MemoryCache缓存 ---缓存时效
MemoryCache缓存 ---缓存时效测试 var cachePool = new MyCachePool(); //Thread.Sleep(1000); var value = cachePo ...
- js中的DOM事件与对象
概念图 document.getElementById("bb"); 根据id找到bb,只能找一个哦 var aa = document.getElementById(" ...
- c++事件内核对象(event)进程间激活(转)
源出处:http://blog.csdn.net/richerg85/article/details/7538493 此文主要说明的是,c++中创建的一个事件内核对象可以在不同的程序(进程)间共用,也 ...
- SharePoint JavaScript 客户端对象使用视频教程
本次视频教程是为大家介绍如何使用SharePoint JavaScript客户端对象,包括对于站点.列表.文档库.列表项.文件夹.文件和附件等基本对象的操作,同时,为大家举几个简单的应用的例子,让大家 ...
- 从零开始学 Web 之 jQuery(七)事件冒泡,事件参数对象,链式编程原理
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 异步设备IO OVERLAPPED结构(设备内核对象 事件内核对象 可提醒IO)
同步IO是指:线程在发起IO请求后会被挂起,IO完成后继续执行. 异步IO是指:线程发起IO请求后并不会挂起而是继续执行.IO完毕后会得到设备驱动程序的通知. 一.异步准备与OVERLAPPED结构 ...
- addEventListener()绑定事件的对象方法。
addEventListener()绑定事件的对象方法.addEventListener()含有三个参数,一个是事件名称,另一个是事件执行的函数,最后一个是事件捕获,, obj.addEventLis ...
- 《纵向切入ASP.NET 3.5控件和组件开发技术》笔记:高效率事件集合对象
在之前讲的几个例子中,使用的是最普通的定义事件方法,比如KingTextBox中事件是这样定义的:/// <summary>/// 获得本书更多内容,请看:/// http://blog. ...
随机推荐
- 微信小程序的一些数据调用方式
1.模板数据的调用 一张图了解一下在wxml页调用预先定义好的模板: 可以看到上面调用了两个模板,数据调用却是不同的,obj是一个对象,对象内包含多个键值对形式的数据: tabbar是一个一维数组,每 ...
- java中遍历类中的属性、调用getter&setter方法
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...
- Linux下打开windows中文文本乱码问题
1. 查看文件的编码方式:file命令 $ file test_file.txt test_file.txt: ISO- text, with very long lines $ file train ...
- Spring之基础
Spring之目的 Spring致力于简化企业级Java开发,促进代码的松散耦合.成功的关键在于依赖注入(DI)和面向切面编程(AOP) Spring之DI DI是组装应用对象的一种方 ...
- vue之element-ui设置全局弹出框
这样的需求,在主要功能完成后,需要进行交互效果的完善,需要给请求api的时候添加一个加载中的一个弹出框.但是每个页面每个页面过的话,会很费时间和精力,这里我们可以采用element-ui中的服务式弹出 ...
- 关于C++一些面试题目的总结
众所周知,在找工作时笔试题目往往对C++有大量考察,现在我们总结一些C++中比较重要而且可能会考到的知识. 1.判断一下A,B,C,D四个表达式是否正确. int a = 4: A:a += (a + ...
- JSP学习(二)JSP指令
JSP指令 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. JSP指令的基本语法格式:<%@ 指令 属性名= ...
- bzoj 2002 Bounce 弹飞绵羊
bzoj 2002 Bounce 弹飞绵羊 设一个虚拟节点表示被弹飞,则每个点的后继点是唯一确定的,每个点向它的后继点连边,就形成了一颗树. 询问就是问某个节点到虚拟节点的路径长度,修改就删除原来向后 ...
- BZOJ4556 Tjoi2016&Heoi2016 字符串【后缀自动机+倍增+线段树合并】
Description 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了 一个长为n的字符串s,和m个问题.佳媛姐姐必须正确回答这m个问题,才能打开 ...
- WPF 程序无法触摸操作?我们一起来找原因和解决方法!
WPF 自诞生以来就带着微软先生的傲慢.微软说 WPF 支持触摸,于是 WPF 就真的支持触摸了.对,我说的是"支持触摸",那种摸上去能点能动的:偶尔还能带点儿多指的炫酷效果.但是 ...