Debido al modelo de seguridad de MOSS/WSS y a las personalizaciones que se realizan mediante el desarrollo de nuevos webparts, interfaces,.. podemos necesitar realizar operaciones que el usuario final no tiene permisos para realizar, por ejemplo, acceder al perfil de un usuario, agregar elementos a listas con un usuario lector, que cualquier usuario pueda activar features desde un webpart… (aunque en la mayoría de los casos, suele tratarse de operaciones más complejas).
Esta tarea, era más compleja en SharePoint 2003, pero ahora gracias al nuevo modelo de objetos y los métodos que ofrecen, podemos realizar una impersonación mediante la cual podremos ejecutar código que realice acciones para las cuales el usuario actual no tiene permisos. El modelo de objetos proporciona dos formas de realizar esta tarea:
· Utilizando la cuenta del sistema: ejecutaremos el código con los permisos que tiene la cuenta del sistema en el sitio (FullMask), de modo que podremos realizar todas las acciones.
· Utilizando los datos de otro usuario: ejecutaremos el código con los permisos que tiene la cuenta del usuario utilizado en el sitio.
A continuación veremos que se realiza esta tarea y algunos aspectos a tener en cuenta.