最近有个小需求,在门户首页上加个通知公告的版块,新闻来源是列表项,需要有垂直滚动的效果。

第一个想法就是通过SharePoint的Client Object Model获取列表数据再加上JQuery来实现,也懒得自己从头写了,直接网上找了一篇通过Client Object Model 取列表项的文章和一篇通过JQuery实现滚动新闻效果的文章,把2处代码揉在一起改吧改吧就好。

开发调试的时候是用管理员身份登录SharePoint网站,一切顺利,测试的时候用匿名用户访问,直接报js错误,提示"GetItems“方法取不出,取列表项的脚步片段如下:

var listName='通知公告';

var ctx = new SP.ClientContext();
    var caml = "<View><Query><OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy></Query><RowLimit>10</RowLimit></View>";
    var list = ctx.get_web().get_lists().getByTitle(listName);
    var query = new SP.CamlQuery();
    query.set_viewXml(caml);

var listItems = list.getItems(query);
    ctx.load(listItems, "Include("Created,Title,ID)");

有权限用户能取,匿名用户不能取,但是匿名用户明明有读列表项的权限,微软肯定又做了什么手脚,一顿google,找到下面的解决方案:

$webapp = Get-SPWebApplication http://site
$webapp.ClientCallableSettings.AnonymousRestrictedTypes.Remove([microsoft.sharepoint.splist], "GetItems")
$webapp.Update()

在服务器上运行上面powershell脚步,在客户端刷新页面,匿名用户也能正常读取列表数据了!

SharePoint 2010 匿名用户调用Client Object Model访问列表项的更多相关文章

  1. SharePoint Client Object Model API 介绍以及工作原理解析

    CSOM和ServerAPI 的对比 SharePoint从2010开始引入了Client Object Model的API(后文中用CSOM来代替),从名字来看,我们可以简单的看出,该API是面向客 ...

  2. 在C#开发中如何使用Client Object Model客户端代码获得SharePoint 网站、列表的权限情况

    自从人类学会了使用火,烤制的方式替代了人类的消化系统部分功能,从此人类的消化系统更加简单,加速了人脑的进化:自从SharePoint 2010开始有了Client Side Object Model ...

  3. c# sharepoint client object model 客户端如何创建中英文站点

    c# sharepoint client object model 客户端如何创建中英文站点 ClientContext ClientValidate = tools.GetContext(Onlin ...

  4. 关于SharePoint 的Client object model该何时load和execut query的一点自己的看法

    很多人在用client object model的时候,不知道何时或者该不该load,今天看到一个观点描述这个问题,觉得很有道理,和大家分享.那就是写client object model就像写sql ...

  5. 解决在使用client object model的时候报“object does not belong to a list”错误

    在查看别人代码的时候,发现了个有意思的问题,使用client object model将一个文件check in 我使用的是如下语句获取file Microsoft.SharePoint.Client ...

  6. 记一个使用Client Object Model上传文件的小例子

    1. 新建一个C#的Console project. 2. 给project 添加reference: Microsoft.SharePoint.Client Microsoft.SharePoint ...

  7. Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)

    本文介绍的是根据用户权限隐藏整个Ribbon菜单项. 操作环境:Windows Server 2008 r2+ SharePoint 2010 1.关于SharePoint  权限详细请参考:http ...

  8. SharePoint 2010 BCS - 简单实例(二)外部列表创建

    博客地址 http://blog.csdn.net/foxdave 接上篇 由于图片稍多篇幅过长影响阅读,所以分段来写. 添加完数据源之后,我们需要为我们要放到SharePoint上的数据表定义操作, ...

  9. sharepoint 2010 如何给文档库或自定义列表添加评论功能

    转:http://www.cfanz.cn/?c=article&a=read&id=40924 最近公司在知识库中,有一个需求,就是想要给文档添加评论功能,在sharepoint 2 ...

随机推荐

  1. springcloud 分布式服务跟踪sleuth+zipkin

    原文:https://www.jianshu.com/p/6ef0b76b9c26 分布式服务跟踪需求 随着分布式服务越来越多,调用关系越来越复杂,组合接口越来越多,要进行分布式服务跟踪监控的需求也越 ...

  2. Spring Boot开发之明月千城(一)

    原文地址:http://qindongliang.iteye.com/blog/2205633 最近数据分析的项目也即将告一段落了,中间也积累了很多知识,特此记录一下.其中用的最爽的Web组合开发就是 ...

  3. C# Datatable排序(转)

    C# Datatable排序 在C#中要对Datatable排序,可使用DefaultView的Sort方法.先获取Datatable的DefaultView,然后设置得到的Dataview的sort ...

  4. Java 导出 CSV

    package com.cib.cap4j.cfn.util; import java.io.BufferedWriter; import java.io.File; import java.io.F ...

  5. Android 性能优化的一些方法

    1.采用硬件加速,在androidmanifest.xml中application添加  android:hardwareAccelerated="true".不过这个需要在and ...

  6. python测试开发django-25.表单提交之post注册案例

    前言 一个网站上新用户注册,会写个注册页面,如果用django写个注册页面的流程呢? 本篇以post请求示例,从html页面上输入用户注册信息,提交到后台处理数据,然后传参数据到User数据库表里面 ...

  7. 禁止tomcat生成catalina.out、localhost_access_log、host-manager.log、localhost.log、manager.log这些文件

    1.找到tomcat目录conf,logging.properties把这个文件重命名(推荐:也可以根据自己的需要更改里面的配置文件) 其实删掉也可以但是不建义 这样就不会生成host-manager ...

  8. Android使用代码模拟HOME键的功能

    Intent intent= new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.addF ...

  9. 用SwipeBackLayout实现滑动关闭当前Activity

    说起SwipeBackLayout,我对它还是有一定怨念的.当时就希望能实现关闭当前Activity的效果,但完全搜不当相关的东西,最后好不容易搜到了这个SwipeBackLayout,觉得可以实现滑 ...

  10. Java工程Properties配置文件注释中文,会自动转换为其他编码方式问题解决 中文乱码

    properties文件中想注释中文,但是写出来后却是 :# /4djf/234/4354/r23df/324d  这种效果 是因为字符编码默认没有设置造成的,以前总是安装插件解决此问题, 但是却牺牲 ...