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

Sathish Nadarajan
 
Solution Architect
June 14, 2015
 
Rate this article
 
Views
40167

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.

Category : JavaScript, SharePoint

Author Info

Sathish Nadarajan
 
Solution Architect
 
Rate this article
 
Sathish is a Microsoft MVP for SharePoint (Office Servers and Services) having 15+ years of experience in Microsoft Technologies. He holds a Masters Degree in Computer Aided Design and Business ...read more
 

Leave a comment