{"id":1220,"date":"2014-02-25T11:00:08","date_gmt":"2014-02-25T10:00:08","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1220"},"modified":"2014-02-24T11:08:46","modified_gmt":"2014-02-24T10:08:46","slug":"sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/","title":{"rendered":"SharePoint 2013 Romper permisos a nivel de Item de lista"},"content":{"rendered":"<p>Entre las muchas cosas buenas que tiene SharePoint, una es el nivel de seguridad que se le puede aplicar a todos los artefactos propios de la plataforma. Esta caracter\u00edstica nos facilita la vida en muchas ocasiones, y nos brinda soluciones t\u00e9cnicamente brillantes en circunstancias en las que en otros sistemas nos costar\u00eda much\u00edsimo tiempo de implementar (por este motivo estar\u00edan pr\u00e1cticamente descartadas). Aunque a la hora de jugar con los permisos hay que revisar con mucha atenci\u00f3n los limites que trae SharePoint, algo que debe de mejorar, porque Microsoft no garantiza el rendimiento de tu sistema si asignas permisos exclusivos a m\u00e1s de 50.000 items a nivel de lista. Pode\u00eds consultar estos limites en el siguiente <a href=\"http:\/\/technet.microsoft.com\/es-es\/library\/cc262787.aspx\" target=\"_blank\">link<\/a><!--more--><\/p>\n<h2>Caso Real<\/h2>\n<p>Estamos en el desarrollo de una Intranet para una compa\u00f1\u00eda y uno de los primeros requisitos que solicita la Direcci\u00f3n es que exista un \u00abcl\u00e1sico\u00bb Buz\u00f3n de sugerencias, donde toda la organizaci\u00f3n pueda a\u00f1adir su sugerencia y una vez la reciba la Direcci\u00f3n, se implementan diversos estados de un flujo de trabajo (que var\u00eda dependiendo de la organizaci\u00f3n).<\/p>\n<p><strong>\u00bfComo lo hacemos?<\/strong><br \/>\nVamos a centrarnos en la parte donde vamos a guardar las sugerencias (la capa vista, flujos posteriores, etc. no son objeto de este post). Naturalmente, se almacena la informaci\u00f3n en una lista de SharePoint (salvo contadas excepciones no creo que superemos los 50.000 elementos de permisos \u00fanicos). La cuesti\u00f3n es que la Direcci\u00f3n solamente quiere que las sugerencias las puedan ver el propio departamento de Direcci\u00f3n\/Recursos Humanos y el interesado que ha realizado la sugerencia.<br \/>\nLa primera opci\u00f3n es ver qu\u00e9 traen las listas \u00about-of-the-box\u00bb para ver si podemos implementar este requerimiento y entonces, nos encontramos con esta pantalla:<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1222\" alt=\"PermisosListas\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png\" width=\"570\" height=\"252\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png 570w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas-300x132.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/a><br \/>\nComo vemos, las posibilidades que ofrece para que cumplir con los requisitos, solamente se satisfacen si hacemos Administradores a los miembros de Direcci\u00f3n para que, de esta forma, ellos puedan ver todos los elementos de una lista. Algo que es como matar moscas a ca\u00f1onazos o similar.<\/p>\n<p>\u00bf Es necesario que hacer a un usuario Administrador cuando su rol no es ese? La respuesta se contesta por si sola, NO. Esto solamente nos puede ocasionar problemas y m\u00e1s problemas.<\/p>\n<h2>Soluci\u00f3n<\/h2>\n<p>La soluci\u00f3n pasa inevitablemente por dar permisos exclusivos a cada item. En esta lista todo el mundo tiene permiso para escribir en ella (porque de esta forma todo el mundo podr\u00eda a\u00f1adir sugerencias) pero en el momento que se cree un elemento, estos permisos se modifican.<\/p>\n<p>Para conseguir este elemento lo podemos hacer de dos formas:<\/p>\n<ol>\n<li>Mediante un Workflow<\/li>\n<li>Mediante un desarrollo personalizado en el EventReceiver<\/li>\n<\/ol>\n<p>Para la primera opci\u00f3n, mediante SharePoint Designer podemos realizar un flujo de trabajo sencillo para obtener este objetivo.<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosDesigner.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1223\" alt=\"PermisosDesigner\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosDesigner.png\" width=\"612\" height=\"209\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosDesigner.png 612w, https:\/\/encaminablogs.wpenginepowered.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosDesigner-300x102.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/a><br \/>\nPara la segunda opci\u00f3n, mediante el siguiente c\u00f3digo lo podemos conseguir:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n                SPSecurity.RunWithElevatedPrivileges(delegate\r\n                {\r\n                    using (SPSite spSite = new SPSite(idSite))\r\n                    {\r\n                        using (SPWeb spWeb = spSite.OpenWeb())\r\n                        {\r\n                            spWeb.AllowUnsafeUpdates = true;\r\n                            var oGroup = spWeb.Groups.GetByID(Convert.ToInt32(user));\r\n                            SPRoleAssignment roleAssignment = new SPRoleAssignment(oGroup);\r\n                            SPRoleDefinition roleDefinition = spWeb.RoleDefinitions&#x5B;role];\r\n                            roleAssignment.RoleDefinitionBindings.Add(roleDefinition);\r\n                            var item = spWeb.Lists.TryGetList(Lista).GetItemById(id);\r\n                             if (!item.HasUniqueRoleAssignments)\r\n                            {\r\n                               item.BreakRoleInheritance(false); \/\/ Ensure we don't inherit permissions from parent\r\n                            }\r\n                              item.RoleAssignments.Add(roleAssignment);\r\n                            item.SystemUpdate(false);\r\n                        }\r\n                    }\r\n                });\r\n<\/pre>\n<p>Del c\u00f3digo introducido, una serie de apuntes:<\/p>\n<ul>\n<li>Para poder dar permisos a un elemento de una lista tenemos que asegurarnos que no esta heredando los permisos del padre, porque si no, no es posible asignarle ning\u00fan tipo de permisos.<\/li>\n<li>\u00bfPorqu\u00e9 he utilizado un RunWithElevatedPrivileges? Tengo que reconocer que no soy amigo de elevar los permisos a usuario Administrador salvo fuerza mayor. En muchos desarrollos me he encontrado con el hecho de que para salvar diversas trabas (como por ejemplo, el n\u00famero de elementos a visualizar, permisos, etc.) la salida f\u00e1cil es elevar los permisos y as\u00ed, el desarrollo funciona. Pero, \u00bfrealmente funciona? Si elevamos los permisos quiz\u00e1s un usuario este viendo informaci\u00f3n que no le corresponda ver. Imag\u00ednate el agujero de seguridad que puede ser esto. En este caso concreto los elevo porque primero es una operaci\u00f3n que tiene que hacer el sistema como es dar\/quitar permisos a un elemento, y segundo porque en algunas ocasiones un usuario normal no tiene permisos para poder consultar grupos del Active Directory, y en este caso necesitamos dar permisos a un grupo s\u00ed o s\u00ed.<\/li>\n<li>Como \u00faltima menci\u00f3n, \u00bfporqu\u00e9 he utilizado el SystemUpdate(), en lugar del Update()? El motivo es que estamos modificando algo del sistema no del elemento, en caso de poner Update() no actualiza los permisos del elemento.<\/li>\n<\/ul>\n<h2>\u00bfCuando utilizar cada opci\u00f3n?<\/h2>\n<p>El principal inconveniente que tiene la opci\u00f3n 1, es que al utilizar un flujo de trabajo no se va a ejecutar inmediatamente. Es decir, un flujo de trabajo es un proceso que se ejecuta en el Timer de la Administraci\u00f3n Central cada 5 minutos por lo tanto, es posible y en algunas circunstancias que estemos 5 minutos sin que la modificaci\u00f3n de los permisos se haya hecho efectiva. Por lo tanto, si queremos optar por esta soluci\u00f3n, tendremos que poner alguna soluci\u00f3n \u00abextra\u00bb para evitar que hasta que el flujo de trabajo realice esta modificaci\u00f3n, los usuarios\/empleados no puedan consultar algo que no deben.<br \/>\nLa opci\u00f3n de realizarlo mediante programaci\u00f3n tiene otra ventaja m\u00e1s es que es escalable, lo podemos reutilizar en otros desarrollos y en el caso de que necesitemos alg\u00fan requisito extra es m\u00e1s sencillo implementarlo que realizarlo utilizando SharePoint Designer.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>El tema de la seguridad de la informaci\u00f3n es algo muy importante a la hora de llevar con \u00e9xito la implantaci\u00f3n de cualquier soluci\u00f3n de SharePoint. Much\u00edsimas veces nos centramos en buscar soluciones \u00abfara\u00f3nicas\u00bb que tienen un agujero de seguridad muy f\u00e1cil de descubrir sin necesidad de ser Chema Alonso, tan solo con saberte la url donde SharePoint ubica la lista ya podemos observar los datos. Para evitar que cualquier usuario pueda acceder a elementos que no corresponde en ENCAMINA utilizamos un framework propio llamado \u00abEnmarcha\u00bb del cual ya os hablar\u00e9 pr\u00f3ximamente \ud83d\ude42<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Entre las muchas cosas buenas que tiene SharePoint, una es el nivel de seguridad que se le puede aplicar a todos los artefactos propios de la plataforma. Esta caracter\u00edstica nos facilita la vida en muchas ocasiones, y nos brinda soluciones &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[93,91,92,90,94],"class_list":["post-1220","post","type-post","status-publish","format-standard","hentry","category-buenas-practicas","tag-event-receiver","tag-herence","tag-item","tag-sharepoint-permision","tag-workflow"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"SharePoint 2013 Romper permisos a nivel de Item de lista\",\"datePublished\":\"2014-02-25T10:00:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/\"},\"wordCount\":1051,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2014\\\/02\\\/PermisosListas.png\",\"keywords\":[\"event receiver\",\"herence\",\"item\",\"sharepoint permision\",\"workflow\"],\"articleSection\":[\"buenas practicas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/\",\"name\":\"SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2014\\\/02\\\/PermisosListas.png\",\"datePublished\":\"2014-02-25T10:00:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2014\\\/02\\\/PermisosListas.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2014\\\/02\\\/PermisosListas.png\",\"width\":570,\"height\":252},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/\",\"name\":\"Desarrollando sobre SharePoint\",\"description\":\"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint","description":"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/","twitter_card":"summary_large_image","twitter_title":"SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint","twitter_description":"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"SharePoint 2013 Romper permisos a nivel de Item de lista","datePublished":"2014-02-25T10:00:08+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/"},"wordCount":1051,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png","keywords":["event receiver","herence","item","sharepoint permision","workflow"],"articleSection":["buenas practicas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/","name":"SharePoint 2013 Romper permisos a nivel de Item de lista - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#primaryimage"},"thumbnailUrl":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png","datePublished":"2014-02-25T10:00:08+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este articulo vamos a mostrar como podemos dar permisos a nivel de item en una lista de sharepoint mediente programaci\u00f3n","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-romper-permisos-nivel-de-item-de-lista-programaticamente\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2014\/02\/PermisosListas.png","width":570,"height":252},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/","name":"Desarrollando sobre SharePoint","description":"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/comments?post=1220"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1220\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}