tag route password page net for data asp all asp.net sharepoint authentication web-parts

asp.net - route - select asp-for asp-items



Mostrar el usuario Sharepoint autenticado actual de un elemento web asp.net Page Viewer (4)

Estoy creando una página asp.net independiente que debe estar integrada en un sitio sharepoint utilizando el elemento web del visor de páginas. La página asp.net se publica en el mismo servidor en un puerto diferente, dándome la URL para incrustar.

El requisito es que, después de autenticar a un usuario mediante la autenticación Sharepoint, navegue a una página que contiene el elemento web asp.net para obtener más opciones.

Lo que tengo que hacer desde esta página asp.net es buscar Sharepoint para el nombre de usuario autenticado actualmente, luego mostrarlo en la página desde el código asp.net.

Todo esto funciona bien cuando depuro la aplicación de VS, pero cuando se publica y se muestra a través de Sharepoint, siempre obtengo NULL como usuario.

Cualquier sugerencia sobre la mejor manera de hacer que esto funcione sería muy apreciada.


Cuando funciona en depuración, ¿eso se usa en SharePoint?

Su página y el sitio de Sharepoint también podrían estar en servidores diferentes en lo que respecta a la autenticación: para poder obtener la información, es posible que deba pasarla a través de QueryString desde el sitio web si puede, o podría necesitar crea tu propia webpart para hacer esto (simplemente coloca un IFRAME en la parte con el src configurado en tu página con QueryString pasando el nombre de usuario).

Parece que esto sería un problema de seguridad si usas el nombre para algo: si solo lo estás mostrando, entonces probablemente esté bien.

Si realmente necesita ser autenticado, es posible que necesite agregar autenticación en el sitio web .config del sitio que aloja su página independiente.

editar: creo que tendrías mejor suerte poniendo tu página en el mismo puerto y servidor que SharePoint.


Sospecho que tendrá dificultades para consultar SharePoint específicamente para el nombre de usuario autenticado actualmente. No puedo pensar en una forma de acceder fácilmente al contexto de SharePoint desde una aplicación web separada como la que está describiendo.

No sé qué tipo de esquema de autenticación está utilizando, pero es posible que desee considerar el uso de Kerberos, ya que he descubierto que puede facilitar este tipo de escenarios al permitir la delegación y el paso de credenciales de la aplicación a la aplicación. o servidor a servidor.


Si desea recuperar el usuario autenticado actualmente del contexto de SharePoint, debe permanecer dentro del contexto de SharePoint. Esto significa alojar su aplicación web personalizada dentro de SharePoint (vea http://msdn.microsoft.com/en-us/library/cc297200.aspx ). Luego, desde su aplicación personalizada, haga referencia a Microsoft.SharePoint y use el objeto SPContext para recuperar el nombre de usuario. Por ejemplo:

SPContext.Current.Web.CurrentUser.LoginName

Aún puede usar el elemento web del visor de páginas para hacer referencia a la URL del sitio, que ahora se encuentra dentro del contexto de SharePoint.


¡Muchas gracias por las respuestas!

Resulta que mientras la página asp.net esté utilizando la misma URL y el mismo puerto que el sitio Sharepoint, la autenticación funciona en ambos sitios.

La solución es usar un directorio virtual dentro del sitio sharepoint e instalar la página asp.net allí.