I have some users who have contribute access on a list and read access on the site but anytime a user tries to alert himself he gets
Error: Access Denied
Why is this? I even gave the user Full Control on the list, still the same issue!
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It only takes a minute to sign up.Sign up to join this community
To expand a little on @David Clarke's sound answer, let's discuss the following three scenarios and their minimum required permissions within the Role / Permission Levels:
Add Own Alert
Manage Own Alerts
Add / Manage Alerts of Other Users
Manage Alerts - at site level
Scenarios 1 & 2 may also require
View Application Pages if not already granted via another role. Without this permission at or above the scope (site, list, item) where you want to create the Alert, you will not have the option. Furthermore, you may also be redirected to the notoriously obnoxious "Access Denied" page.
Confirmed (i.e. the same permissions exist) in SharePoint 2007 through SharePoint Online.
It is a known issue, you should give the users permissions on the paren web as well, as discussed here:
You can create the alert from the list ribbon via the application page
SubNew.aspx, and manage them via the
MySubs.aspxpage, both of them are located in the
_layoutsfolder. The code behind class for these pages are the
MySubsPageclasses respectively from the assembly
Microsoft.SharePoint.ApplicationPages(and the same namespace). There is no security check in the
OnLoadmethod of the
SubNewPageclass (nor in its base classes), however in the
OnLoadmethod of the
CheckRightsmethod of the
Microsoft.SharePoint.WebControlsnamespace ) is called. This method checks, if the current user has
DefaultLayoutsRightspermission (that means
SPBasePermissions.EmptyMask | SPBasePermissions.ViewFormPages | SPBasePermissions.Open | SPBasePermissions.ViewPages) on the parent web, and not on the list. If not, the user is not able to manage the alerts she created earlier.