How to get the User Groups of the Current Logged in User using Javascript in SharePoint 2013


Sathish Nadarajan
SharePoint MVP
Published On :   14 Jun 2015
Visit Count
Today :  13    Total :   23051
Plan, Migrate, Secure, Report
SharePoint & Office 365 Tool. Simple & Easy to Use. 15-Day Trial!

Sharegate: Kick-Ass Tool
Think Your SharePoint & Office 365 Are Secure ? Find Out Now!


Recently, I met with an interesting requirement, that we need to filter some of the records using the Current Logged in User Groups using JavaScript. i.e., if the User presents in a Specific Group should see a particular record set. i.e., While rendering all the records, we need to inject this validation. For that, the below code can be used. The code is straight forward and the inline comments will explain the flow. Thought of sharing this to the community.

 <script src="https://c4968397007.dc07.loc:2000/sites/DeveloperSite/Style%20Library/jquery-1.9.0.min.js"></script>
 
 <script type="text/javascript">
 
 function TempMethod()
 
 {
 
 //alert('Loaded');
 
 }
 
 function CheckCurrentUserMembership() {
 
 var clientContext = SP.ClientContext.get_current();
 
 this.currentUser = clientContext.get_web().get_currentUser();
 
 clientContext.load(this.currentUser);
 
 this.userGroups = this.currentUser.get_groups();
 
 clientContext.load(this.userGroups);
 
 clientContext.executeQueryAsync(OnQuerySucceeded);
 
 }
 
 function OnQuerySucceeded() {
 
 var isMember = false;
 
 var groupsEnumerator = this.userGroups.getEnumerator();
 
 while (groupsEnumerator.moveNext()) {
 
 var group= groupsEnumerator.get_current();
 
 if(group.get_title() == "Administrator Group") {
 
 isMember = true;
 
 alert('Success');
 
 break;
 
 }
 
 }
 
 OnResult(isMember);
 
 }
 
 function OnQueryFailed() {
 
 OnResult(false);
 
 }
 
 $(document).ready(function ($) {
 
 ExecuteOrDelayUntilScriptLoaded(TempMethod, "SP.js");
 
 SP.SOD.executeFunc('sp.js', 'SP.ClientContext', TempMethod);
 
 //ExecuteOrDelayUntilScriptLoaded(TempMethod, "SP.ClientContext");
 
 CheckCurrentUserMembership();
 
 });
 
 </script>
 

Here I have added this script on a blank Script Editor Webpart for my development purpose.

The same thing can be done in a reverse passion also. i.e., Get all the User Groups on the Site, make sure that the current user is in those groups or not. But, for me, I felt the above one is optimized.

DOWNLOAD Source HERE

Happy Coding,

Sathish Nadarajan.

SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Categories

KWizCom Forms App