首页
IT服务
解决方案
IT实战培训
关于我们
您的位置 :
ITLead >>
技术交流
>>
软件开发
>>
Sharepoint
如何利用ECMAScript判断当前用户是否对某列表有某权限?
来源:广州中睿信息技术有限公司
发布时间:
2012/10/21 23:25:16
编辑:
itlead
阅读
2600
次
学习,学习再学习,正所谓活到老学到老。
有句话说,熟读唐诗三百首,不会写诗也会吟书。读书多了,把别人的知识加以自己的个人见解,就变成了自己的知识。下面的例子就是案例,让我们一起来分享吧!
最近一段时间看SP大虾博客的时候,看到了一个有关权限的例子,遂想到自己写过的自定义列表中的“添加”按钮一直都存在那,没有判断权限。于是便写了下面的一段代码:判断判断当前用户是否对某列表有增加列表项权限,现和大家分享一下!
var oWeb;//当前SPWeb var spListTitle = '<SharePoint:ListProperty Property="Title" runat="server"/>'; //当前列表的title var oList;//当前SPList var oUser;//当前SPUser //获取当前SPWeb function GetSPWeb(){ if(SP.ClientContext == undefined || SP.ClientContext == null){ setTimeout("GetSPWeb()",100);//0.1秒后获取SPWeb } else{ var clientContext = new SP.ClientContext.get_current(); oWeb = clientContext.get_web(); oList = clientContext.get_web().get_lists().getByTitle(spListTitle); oUser = oWeb.get_currentUser(); clientContext.load(oWeb); clientContext.load(oList); clientContext.load(oUser); clientContext.load(oList, 'EffectiveBasePermissions'); clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)); } } var getSPWeb = GetSPWeb(); //获取数据成功后执行此函数 function onQuerySucceeded(sender, args) { if (oList.get_effectiveBasePermissions().has(SP.PermissionKind.addListItems)){ for(var i=0;i<cmdAddDiscArray.length;i++){ cmdAddDiscArray[i].style.display = "block"; } } } function onQueryFailed(sender, args) { alert("客户端对象模型请求失败。" + args.get_message() + "\n" + args.get_stackTrace()); }
相关阅读
· 客户端对象模型之Excel数据导入到列表2014.03.26
· 客户端对象模型之列表数据导出到Excel2014.03.26
· SharePoint 2010 "客户端不支持使用windows资源管理器打开此列表" 解决方法2014.01.22
· SharePoint 2013 Troubleshooting——启用 Developer Dashboard2014.01.22
· 浅谈SharePoint 2013 站点模板开发2014.01.10