Skip to main content
3 of 3
removed errant close brace from code, changed "you" to "your" (had to add a superfluous word to get over 6 char minimum) - thank you for this very helpful solution!)

You can use Sharepoint Client Object Model for this. Here is how to do it on the current web:

function CheckPermissionOnWeb() 
{
    context = new SP.ClientContext.get_current();

    web = context.get_web();

    this._currentUser = web.get_currentUser();

    context.load(this._currentUser);

    context.load(web,'EffectiveBasePermissions');

    context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod));        

    function onSuccessMethod(sender, args) 
    {
        if (web.get_effectiveBasePermissions().has(SP.PermissionKind.editListItems)) 
        {
            //User Has Edit Permissions
            alert('YEAH, edit list permissions!');
        }
    }
} 

from http://spdailytips.blogspot.se/2011/09/check-current-user-permission.html

Here you can find all the possible values for the Enum SP.PermissionKind.

This pattern will work on a List or a ListItem as well (like a page). Just make sure to load the object with context.load(theItem, 'EffectiveBasePermissions');

So in your case manageWeb should do great!

Robert Lindgren
  • 24.5k
  • 12
  • 53
  • 79