zoukankan      html  css  js  c++  java
  • 在Sharepoint 2013中,使用JS判断当前用户是否在某个组里面

    使用Sharepoint客户端对象模型,判断当前用户是否在某个组里面。

    在View 和 Edit List Item的时候使用,使用户编辑修改List Item的时候有权限的区分。

    在Edit 页面加入Content Edit Webpart,引用下面HTML文件。

    <script language="javascript">

    $(document).ready(function(){ $('#DeltaPlaceHolderMain').attr('style','display:none') }); function IsCurrentUserMemberOfGroup(groupName, OnComplete) { var currentContext = new SP.ClientContext.get_current(); var currentWeb = currentContext.get_web(); var currentUser = currentContext.get_web().get_currentUser(); currentContext.load(currentUser); var allGroups = currentWeb.get_siteGroups(); currentContext.load(allGroups); var group = allGroups.getByName(groupName); currentContext.load(group); var groupUsers = group.get_users(); currentContext.load(groupUsers); currentContext.executeQueryAsync(OnSuccess,OnFailure); function OnSuccess(sender, args) { var userInGroup = false; var groupUserEnumerator = groupUsers.getEnumerator(); while (groupUserEnumerator.moveNext()) { var groupUser = groupUserEnumerator.get_current(); if (groupUser.get_id() == currentUser.get_id()) { userInGroup = true; break; } } OnComplete(userInGroup); } function OnFailure(sender, args) { OnComplete(false); } } function IsCurrentUserHasContribPerms() { //if xxx user IsCurrentUserMemberOfGroup("group1", function(isCurrentUserInGroup){ if(isCurrentUserInGroup) { $('#DeltaPlaceHolderMain').attr('style','display:block'); $('.ms-formtable tr:nth-child(1)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(8)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(9)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(11)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(12)').attr('style','display:none'); } }); //if group2 user IsCurrentUserMemberOfGroup("group2", function(isCurrentUserInGroup){ if(isCurrentUserInGroup) { $('#DeltaPlaceHolderMain').attr('style','display:block'); $('.ms-formtable tr:nth-child(1)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(3)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(4)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(5)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(6)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(7)').find('input').attr('disabled','disabled'); $('.ms-formtable tr:nth-child(12)').attr('style','display:none'); } }); } ExecuteOrDelayUntilScriptLoaded(IsCurrentUserHasContribPerms, 'SP.js'); </script>
  • 相关阅读:
    ASP.NET core1.0 EF MYSQL搭建中碰到几个问题记录
    【小程序】---- input获得焦点时placeholder重影BUG
    【小程序】---- 基础知识汇总
    【vue】---- 图片懒加载
    【vue】---- v-model在自定义组件中的使用
    【工具】---- webpack简析
    【Vue】---- 手动封装on,emit,off
    【工具】---- json-server基本使用
    【Vue】----- 浅谈vue的生命周期
    【Vue】----- computed与watch的区别
  • 原文地址:https://www.cnblogs.com/batter152/p/5563559.html
Copyright © 2011-2022 走看看