Today, I ran in to a requirement restriction only for specific page in site page library.
Blow Script help that how to check the Current user in specific group.
http://site/SiteAssets/jquery-3.1.0.min.js
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 ValidatePerviledges(){
IsCurrentUserMemberOfGroup(“ISO_Approvers”, function (isCurrentUserInGroup) {
if(isCurrentUserInGroup)
{
console.log(“Access granted”);} else{
//Redirect to Access denied page
window.location.replace(“http://site/DocumentControl/_layouts/15/accessdenied.aspx”)
}});
}
$(document).ready(function(){
//Wait for SP.js
ExecuteOrDelayUntilScriptLoaded(ValidatePerviledges, “sp.js”);
});