Home RSS 2.0 ATOM 1.0  CDF  
 
CodeSegment - Carlos Segura Sanz (blog)
 

En todas las instalaciones hay un punto crítico, esa pregunta que no tenemos muy clara  y que en ocasiones va acompañada de un texto recomendando una de las opciones, por si no sabemos muy bien qué es lo que estamos haciendo. MOSS no es una excepción.

La pregunta en cuestión llega cuando tenemos que decidir sobre la seguridad, la instalación de MOSS nos da a elegir entre sí usaremos NTLM ó Kerberos.

Como todos sabemos y Microsoft dice NTLM funciona para casi todo. De modo que suele ser la opción preferida de todos.  No hay que configurar nada y funciona. (http://support.microsoft.com/kb/832769)

Kerberos por el contrario es un sistema de autentificación un poco más complejo, pero  también más seguro y más rápido (motivos por los cuales ya de por sí, debería ser la opción predilecta de todos)

Kerberos, es más rápido por que guarda en una cache (vales) la información del cliente después de que este se ha autentificado en el sistema, de modo que no tiene que estar comprobando las credenciales una y otra vez.

Otra de las características importantes de Kerberos es la Delegación, La delegación nos permite pasar las credenciales del cliente desde nuestro servidor front-end (SharePoint)  a nuestros servidores back-end (SQL Server etc..).

Cuando usamos NTLM, y deseamos acceder a recursos que están fuera de nuestro alcance, podemos suplantar al cliente (impersonate)  y usar la cuenta de suplantación para realizar las tareas necesarias.

¿Pero qué ocurre cuando tratamos de usar recursos que no están en la misma máquina que nuestro servidor web?, entonces la suplantación no es suficiente. Y se produce el efecto llamado Double-Hop (http://support.microsoft.com/default.aspx?scid=kb;en-us;329986)

Imaginemos que hemos realizado una solución para SharePoint que usa un servicio web o una conexión a un servidor SQL que se encuentra en una máquina distinta, y deseamos acceder usando la seguridad integrada (Integrated Security=SSPI) .

Al realizar la conexión nuestro servidor web debe ponerse en contacto con nuestro servidor SQL y este no es capaz de autentificar al usuario.

De modo que recibiremos un mensaje como:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

Como mencionaba anteriormente, esto es debido a que la suplantación no es válida, necesitamos algo más; Delegación.

Y esa delegación aunque cueste un poquito más configurarla es la que nos ofrece Kerberos.

Este escenario se produce en multitud de instalaciones de MOSS en donde usamos servicios de Excel, para recuperar datos de los servicios de análisis de SQL.

Thursday, February 28, 2008 5:28:58 PM (Hora estándar romance, UTC+01:00)
Perdón, este comentario es relativo al cSegSmallCalendar, pero los comentarios en esa sección del blog no están permitidos ya, y necesito agregar ese control.
Estuve intentando agregar el webpart del calendario a un sitio en sharepoint 2003 pero me arroja el error que detallo abajo. Este problema ya está reportado y corresponde a la primera versión. Allí sugieres utilizar la versión más reciente.
Sin embargo, esto sigue sucediendo con la última versión del cSegSmallCalendar, la que incluye filtros. Probé las tres versiones y sigo teniendo el mismo problema, realmente no sé qué parámetro configurar.

Alberto

PANIC:
Message : Value does not fall within the expected range.
Source : Microsoft.SharePoint
Stack : at Microsoft.SharePoint.SPListCollection.get_Item(String strListName)
at csegSmallCalendar.csegSmallCalendar.a(Object A_0, DayRenderEventArgs A_1)
at System.Web.UI.WebControls.Calendar.OnDayRender(TableCell cell, CalendarDay day)
at System.Web.UI.WebControls.Calendar.RenderDays(HtmlTextWriter writer, DateTime firstDay, DateTime visibleDate, CalendarSelectionMode selectionMode, Boolean buttonsActive)
at System.Web.UI.WebControls.Calendar.Render(HtmlTextWriter writer)
at UnStyledCalendar.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at csegSmallCalendar.csegSmallCalendar.Render()
at csegSharePoint.WebPart.csegWebPart.RenderWebPart(HtmlTextWriter output)


Alberto
Monday, March 03, 2008 12:15:33 PM (Hora estándar romance, UTC+01:00)
Hola Carlos,

Me gustaria que me aclararas unas dudas que tengo. soy informatico y me encargo de la herramienta EPM(project server 2007), tengo que hacer una integración de esta herramienta con otra y para ello queria crear un webpart. el problema reside en que para mi esto de los webparts, sharepoint es todo nuevo y me he visto con la dificultad de que no se puede diseñar graficamente un webpart con los botones, combobox...Mi pregunta es: ¿Crees que si hago una pagina web con asp en visual studio puedo integrarla en el project y que se visualize dentro de PWA?
Mas o menos lo que hace en este articulo pero integrarla en Project Web Acces.
http://www.gavd.net/servers/sharepointv3/spsv3_item.aspx?top=cod&itm=562


Un saludo,
Espero tu respuesta
vicente serrano gracia
Saturday, March 15, 2008 6:33:44 PM (Hora estándar romance, UTC+01:00)
Alberto,

¿Has desinstalado correctamente el webpart antes de instalar el nuevo?.

Un Saludo,
csegura
Saturday, March 15, 2008 6:36:33 PM (Hora estándar romance, UTC+01:00)
Vicente,

Un WebPart no es más que un usercontrol de asp.net con algunas particularidades, de modo que prácticamente puedes hacer cualqueir cosa dentro.

Un Saludo.
csegura
Friday, April 18, 2008 12:12:06 PM (Hora de verano romance, UTC+02:00)
Señor, algún buen manual paso a paso de cómo configurar Kerberos y la delegación en un entorno de frontales web y máquinas de servicios WCF (los cuales acceden a sql server u otras bases de datos, y también a recursos como ficheros en disco), preferiblemente en castellano ??

Saludos, y gracias.
PD: anímese a escribir algún artículo sobre ello, parece muy interesante.
espinete
Comments are closed.

Copyright © 2008 Carlos Segura. All rights reserved.