En este post, añado una lista de algunas de las propiedades y métodos que devuelven el enumerador SPBasePermissions, y algunos métodos que toman como parámetro SPBasePermissions para comprobar si un usuario tiene ciertos derechos sobre un objeto en SharePoint.
Los siguientes son algunos de los componentes más comunes de SharePoint que se puede utilizar para obtener o establecer los permisos, o comprobar si son eficaces ciertos permisos para un usuario sobre el objeto:
Obtener o establecer los permisos de la base de una definición de función en un objeto SPWeb:
- SPWeb.RoleDefinitions.BasePermissions
Obtener los permisos del usuario actual o especificado tiene los permisos especificados sobre un objeto:
- SPSite.EffectiveBasePermissions
- SPSite.GetEffectiveRightsForAcl (SPReusableAcl)
- SPWeb.EffectiveBasePermissions
- SPWeb.GetUserEffectivePermissions (Nombre de usuario String)
- SPList.EffectiveBasePermissions
- SPList.EffectiveFolderPermissions
- SPList.GetUserEffectivePermissions (Nombre de usuario String)
- SPFolder.EffectiveRawPermissions
- SPFile.EffectiveRawPermissions
- SPListItem.EffectiveBasePermissions
- SPListItem.GetUserEffectivePermissions (Nombre de usuario String)
Comprobar si el usuario actual o especificado tiene los permisos especificados y lanza UnauthorizedAccessException si no:
- SPSite.CheckForPermissions (SPReusableAcl, SPBasePermissions)
- SPWeb.CheckPermissions (SPBasePermissions)
- SPList.CheckPermissions (SPBasePermissions)
- SPListItem.CheckPermissions (SPBasePermissions)
Devuelve verdadero/falso indicando si el usuario tiene el permisos específicos:
- SPSite.DoesUserHavePermissions (SPReusableAcl, SPBasePermissions)
- SPSite.DoesUserHavePermissions (SPReusableAcl, SPBasePermissions, SPWeb)
- SPWeb.DoesUserHavePermissions (SPBasePermissions)
- SPWeb.DoesUserHavePermissions (String, SPBasePermissions)
- SPList.DoesUserHavePermissions (SPBasePermissions)
- SPList.DoesUserHavePermissions (SPUser, SPBasePermissions)
- SPListItem.DoesUserHavePermissions (SPBasePermissions)
- SPListItem.DoesUserHavePermissions (SPUser, SPBasePermissions)
Diseño de páginas base – Permisos necesarios para acceder a una LayoutPageBase
- LayoutsPageBase.RightsRequired
- LayoutsPageBase.DefaultLayoutsRights
Recortar contenido de una página (Obtener o establecer permisos)
- SPSecurityTrimmedControl.Permissions
Permisos base asociados a un objeto SPPermission
- SPPermission.BasePermissions
Obtener los permisos base necesarios para utilizar un objeto o ConsoleAction ConsoleNode
- ConsoleAction.UserRights
- ConsoleNode.UserRights
Obtener los permisos necesarios para ver el Panel de Control de desarrolladores
- SPDeveloperDashboardSettings.RequiredPermissions
Obtener o establecer los permisos para una Aplicación Web
- SPWebApplication.RightsMask
- SPSite.ApplicationRightsMask
Permisos necesarios para acceder a una página móvil
- SPMobilePage.RightsRequired
Botón de la barra de menú
- ToolBarMenuButton.CallbackVisibilityPermission
Otros:
- SPSecurableObject.GetUserEffectivePermissions (Nombre de usuario String)
- SPRibbon.Permissions
- MenuItemTemplate.Permissions
- SPUserCustomAction.Rights
De una forma gráfica, una manera de entender las dependencias de permisos que maneja SharePoint por defecto, es esta (pincha sobre ella para verla en grande):