Configurar e implementar elementos web en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

SharePoint Server incluye un conjunto de elementos web que los usuarios pueden agregar a las páginas después de instalar el producto. Si una organización necesita elementos web personalizados, un desarrollador puede escribir elementos web de ASP.NET personalizados y pedirle que los instale. Normalmente, este proceso requiere probar y aprobar el código antes de poder implementar el elemento web en un entorno de plena confianza. Un desarrollador que usa Visual Studio puede implementar un elemento web en SharePoint Server haciendo clic con el botón derecho en el proyecto y seleccionando Implementar. El destino del elemento web está determinado por el nivel de confianza establecido con el servidor de SharePoint cuando el desarrollador creó el proyecto en Visual Studio.

SharePoint Server usa algunas de las opciones de administración de configuración proporcionadas por Microsoft .NET Framework. Algunas de estas opciones se almacenan en archivos de configuración XML y ofrecen una amplia variedad de opciones de configuración que los administradores de servidores usan para administrar la aplicación web y su entorno. Para obtener más información sobre ASP.NET archivos de configuración, vea Machine.Config y Web.Config Explicado en "Proteger la aplicación y los servicios web de ASP.NET".

Opciones de configuración

Los elementos web de ASP.NET se implementan en el SharePoint Server directorio bin o en la caché global de ensamblados (GAC).

  • Directorio Bin Se almacena en la carpeta Bin, en el directorio raíz de su aplicación web.

    Ventajas de usar esta ubicación:

    Una ubicación de confianza parcial. De manera predeterminada, el código que se ejecuta desde este directorio tiene un bajo nivel de permisos de seguridad de acceso al código. Si el elemento web requiere acceso entre aplicaciones o más acceso que el que permiten los permisos predeterminados, el administrador debe elevar los permisos explícitamente al elemento web para que pueda funcionar correctamente. Quizás los administradores prefieran que los ensamblados se ejecuten en el directorio Bin, con un conjunto mínimo, conocido y necesario de permisos de seguridad de acceso al código.

    Inconvenientes de usar esta ubicación:

    Para ejecutar el elemento web en cualquier lugar, necesita implementar el ensamblado en el directorio bin de cada servidor de SharePoint Server 2016 con los roles de servidor de aplicaciones y front-end de MinRole, y de cada servidor de SharePoint 2013 que tenga instalados el rol de aplicación y el rol web.

  • Caché global de ensamblados (GAC) Todos los elementos web estándar se instalan automáticamente en la GAC, donde se encuentra Common Language Runtime de .NET Framework, en %windir%\assembly. Los elementos web almacenados en la GAC se pueden compartir entre aplicaciones.

    Ventajas de usar esta ubicación:

    Una ubicación global donde puede implementar ensamblados firmados, que se pueden ejecutar con total confianza de forma predeterminada. Como los ensamblados se instalan globalmente, funcionan en cualquier aplicación web.

    Inconvenientes de usar esta ubicación:

    Por lo general, no hay ninguna restricción de seguridad de acceso al código en el código que se instala en la GAC; por tanto, pierde la ventaja de la seguridad de defensa a fondo.

    Además, puede ser difícil implementar los archivos de base de datos de programa (.pdb) en los ensamblados de la GAC.

Establecer atributos de seguridad

Los elementos web de ASP.NET que se almacenan en el directorio Bin tienen atributos de seguridad adicionales. Puede decidir si va a establecer estos atributos para el elemento web según cómo piense usarlo.

El directorio Bin es una ubicación de confianza parcial. Por lo tanto, el elemento web no tiene automáticamente permisos de código de plena confianza cuando se ejecuta. Como el código que llama al elemento web solo tiene permisos de confianza parcial, el desarrollador del elemento web debe configurar el atributo AllowPartiallyTrustedCallers en el elemento web de ASP.NET.

Si marca un componente como "seguro" con el atributo AllowPartiallyTrustedCallers traslada la responsabilidad de una implementación segura al equipo de desarrollo.

De forma predeterminada, al directorio Bin y a su contenido se les asignan permisos de seguridad de acceso al código mínimos. Debe probar los elementos web con cuidado para determinar el nivel correcto de permisos que hay que asignar y para garantizar que el elemento web no suponga un riesgo para la seguridad de su entorno.

Puede elevar los permisos de dos maneras:

  • (Recomendado) Cree un archivo de directiva de confianza y haga que el archivo Web.config apunte al nuevo archivo. Esta opción es más compleja, pero permite establecer permisos precisos para los elementos web. Para obtener más información sobre los archivos de directiva de confianza, consulte Microsoft Windows SharePoint Services y Seguridad de acceso a código.

  • Eleve el nivel de confianza global del directorio bin. En el archivo Web.config del directorio raíz de la aplicación web, busque el trust elemento . El valor predeterminado del trust atributo del level elemento es WSS_Minimal. Puede cambiar este nivel a WSS_Medium. Aunque esta opción es más sencilla, concede permisos nuevos arbitrarios que pueden ser innecesarios, y es menos segura que crear un archivo de directivas de confianza.

    Precaución

    Las entradas WSS_Minimal y WSS_Medium del archivo Web.config distinguen mayúsculas de minúsculas.

Lista de controles seguros

La lista de controles seguros contiene los nombres de los controles y elementos web, específicos de su sitio de SharePoint, que los administradores del servidor pueden designar como seguros para usar en cualquier página .aspx dentro de un sitio. Esta lista forma parte del archivo Web.config, en el directorio raíz de la aplicación web.

Implementar y configurar un elemento web

El método que use para implementar un nuevo elemento web dependerá del paquete terminado que el desarrollador proporciona. Si el desarrollador le proporcionó el elemento web como un único archivo de biblioteca de vínculos dinámicos (DLL), puede implementar manualmente el archivo DLL copiándolo en la carpeta Bin de la aplicación web. Si el desarrollador proporciona un archivo CAB que contiene el elemento web, puede usar Microsoft PowerShell para implementar el elemento web.

Para implementar y configurar manualmente un elemento web

  1. Confirme que dispone de las siguientes credenciales administrativas:

    • Necesita ser miembro del grupo de administradores locales en el servidor donde se hospeda SharePoint Server.
  2. Copie el <ensamblado yourWebPartName>.dll en el directorio Bin del proyecto en el directorio Bin del directorio raíz de la aplicación web. Por ejemplo: C:\inetpub\wwwroot\wss\VirtualDirectories\80.

  3. Busque el archivo Web.config en el directorio raíz de la aplicación y ábralo para editarlo.

  4. Agregue la siguiente entrada de control seguro para el ensamblado personalizado al archivo Web.config:

    <SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>
    

    Donde:

    • <YourWebPartName> es el nombre del elemento web que se va a implementar.

    • <YourWebPartNamespace> es el espacio de nombres asociado al elemento web.

Una alternativa a instalar manualmente un elemento web en la carpeta Bin o cambiar manualmente el archivo Web.config es usar PowerShell para instalar el paquete de elementos web. Para que este proceso funcione, un desarrollador o administrador del sistema debe crear un paquete de solución CAB para el elemento web. Después de crear un archivo CAB, siga estos pasos para implementar el elemento web.

Para implementar el elemento web mediante Microsoft PowerShell

  1. Compruebe que cumple con los siguientes requisitos: Vea Add-SPShellAdmin.

  2. Abra Shell de administración de SharePoint.

  3. En el símbolo del sistema de PowerShell (PS C:\>), escriba el siguiente comando y presione ENTRAR:

    Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"
    

    Donde:

    • <PathToCabFile> es la ruta completa al archivo CAB que se va a implementar.

    • <WebPartName> es el nombre del elemento web que se va a implementar.

En el procedimiento anterior se muestra una forma habitual de usar Install-SPWebPartPack para implementar un elemento web. Puede especificar parámetros adicionales para cambiar la forma de implementar el elemento web. Para obtener más información, vea Install-SPWebPartPack.

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.

Cada elemento web debe tener un archivo .webpart, que es un archivo XML que describe el elemento web. El archivo .webpart también hace que el elemento web aparezca en la Galería de elementos web. El siguiente procedimiento es la forma más sencilla de crear un archivo .webpart después de implementar el elemento web y registrarlo en la lista de controles seguros.

Para agregar un componente a la Galería de elementos web

  1. Confirme que dispone de las siguientes credenciales administrativas:

    • Debe pertenecer al grupo de administradores de la granja.
  2. Para crear un archivo .webpart, navegue a http://<>/_layouts/newdwp.aspx, donde <MyServer> es el nombre del servidor donde está implementado el sitio de SharePoint.

  3. Active la casilla situada junto a <YourWebPartNamespace>.< YourWebPartName>.

  4. Haga clic en Rellenar galería para agregar el elemento web YourWebPartName a la galería del sitio de equipo.

  5. En la Galería de elementos web, seleccione Editar para editar el elemento web y después, haga clic en Importar.

    Se le pedirá que especifique una ubicación para el archivo .webpart. También puede exportar los elementos web de ASP.NET e importarlos en sitios de SharePoint.

Vea también

Conceptos

Administración de elementos web en SharePoint Server

Otros recursos

Cómo: Implementar, publicar y actualizar una solución de SharePoint en un servidor remoto