zoukankan      html  css  js  c++  java
  • SharePoint 2010 匿名用户调用Client Object Model访问列表项

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

    第一个想法就是通过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脚步,在客户端刷新页面,匿名用户也能正常读取列表数据了!

  • 相关阅读:
    C#
    Excel 中大量图片如何快速导出? 转载自:http://www.zhihu.com/question/20800948
    IE的F12开发人员工具不显示 转载自:http://blog.csdn.net/longyulu/article/details/8749705
    firefox ie 比较 relative path
    fiddler save files
    selenium3加载浏览器
    Linux安装PHP
    客户端级别的渲染分析工具 dynaTrace
    前端性能分析:分析百度和sogou
    Linux vi的基本操作
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3424035.html
Copyright © 2011-2022 走看看