tag:blogger.com,1999:blog-4782459111526396682.post3206235886930466773..comments2023-05-28T06:42:00.336-07:00Comments on Mario Cortés Flores: Cambiar las credenciales de usuario en SharepointMario Cortés Floreshttp://www.blogger.com/profile/11469537436666172551noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-4782459111526396682.post-72856656527042801812009-03-23T08:56:00.000-07:002009-03-23T08:56:00.000-07:00La consola de administración de Sharepoint al fin ...La consola de administración de Sharepoint al fin y al cabo es una aplicación web cuyo proceso se está ejecutando en una máquina que pertenece a la granja de sharepoint.Mario Cortés Floreshttps://www.blogger.com/profile/11469537436666172551noreply@blogger.comtag:blogger.com,1999:blog-4782459111526396682.post-17787848227553354732009-03-23T08:17:00.000-07:002009-03-23T08:17:00.000-07:00Hola Mario,Tras innumerables intentos, no he logra...Hola Mario,<BR/><BR/>Tras innumerables intentos, no he logrado acceder por completo al modelo de objetos de SharePoint desde un servidor que no esté dentro de la granja. Mas concretamente falla el constructor del objeto SPSite.<BR/><BR/>He desistido en el intento, realizando esas tareas a través de web services implementados en el servidor.<BR/><BR/>Mi pregunta ahora es: ¿Por que se puede acceder a través del navegador web (desde cualquier máquina) a la administración de SharePoint y no se puede desde esa misma máquina por código?<BR/><BR/>En fin, cosas de la vida.<BR/><BR/>Gracias de nuevo Mario, por compartir tus conocimientos.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4782459111526396682.post-88591315569755392452009-03-19T12:18:00.000-07:002009-03-19T12:18:00.000-07:00Hola, la verdad es que no he probado nunca a ejecu...Hola, la verdad es que no he probado nunca a ejecutar tareas de configuración y mantenimiento de la granja desde un servidor que no pertenezca a la granja. <BR/><BR/>La mayoría de las operaciones puedes indicar una url como ServerContext.GetContext, SearchContext.GetContext, SPFarm.Open. <BR/><BR/>Pero eso sí, para poder ejecutar una aplicación que utiliza el modelo de objetos de sharepoint debe al menos tener instalado sharepoint en el servidor sobre el que se ejecute.Mario Cortés Floreshttps://www.blogger.com/profile/11469537436666172551noreply@blogger.comtag:blogger.com,1999:blog-4782459111526396682.post-78971712109373963622009-03-17T09:06:00.000-07:002009-03-17T09:06:00.000-07:00Hola Mario. Ante todo, darte las gracias por tus b...Hola Mario. Ante todo, darte las gracias por tus buenos consejos en el mundo Sharepoint.<BR/><BR/>Acerca de tu post, me surge la duda de si podemos manejar objetos de Sharepoint desde otro servidor, es decir, imaginate que tenemos un servidor con sharepoint con el que desarrolla y en que se quieren ejecutar aplicaciones de consola para acceder y manejar el resto de servidores o granjas de sharepoint de entornos de integracion.<BR/><BR/>No he visto con rotundidad que esto sea posible o no lo sea. ¿que opinas?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4782459111526396682.post-84136663533703807502009-02-10T01:03:00.000-08:002009-02-10T01:03:00.000-08:00El código que está dentro del RunWithElevatedPrivi...El código que está dentro del RunWithElevatedPrivileges se ejecuta con la identidad SHAREPOINT\System para los objetos de Sharepoint y con la identidad del usuario del proceso para los accesos al sistema. <BR/>Aquí existe un pequeño matiz y es que si usamos un objeto SPSite su identidad dependerá de cuando se haya instanciado, si antes o después del RunWithElevatedPrivileges. Si utilizamos dentro de un bloque RunWithElevatedPrivileges el SPContext.Current.Site estaremos utilizando la identidad del usuario logado ya que el contexto se creó antes de utilizar RunWithElevatedPrivileges. <BR/>Por lo que para elevar correctamente los privilegios tendremos que crear una nueva instancia de SPsite dentro del bloque RunWithElevatedPrivileges. <BR/><BR/>Por ejemplo: <BR/><BR/>SPSecurity.RunWithElevatedPrivileges(delegate() { <BR/> using (SPSite elevatedSiteCollection = new SPSite(this.Site.ID)) { <BR/> using (SPWeb elevatedSite = elevatedSiteCollection.OpenWeb(this.Web.ID)) { <BR/> // access elevatedSiteCollection and <BR/> //elevatedSite as SHAREPOINT\System <BR/> } <BR/> } <BR/>});<BR/><BR/>Puedes ver un ejemplo muy completo en http://msdn.microsoft.com/es-es/magazine/cc163287.aspxMario Cortés Floreshttps://www.blogger.com/profile/11469537436666172551noreply@blogger.com