Share via


Tutorial: Conceder y quitar permisos para una solución de Office (2003 System)

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos de Visual Studio Tools para Office y versiones de Microsoft Office especificados.

Tipo de proyecto

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Microsoft Office 2003

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Este tutorial muestra los fundamentos de seguridad en Visual Studio Tools para Office.

En este tutorial se muestran las siguientes tareas:

  • Quitar la configuración de seguridad predeterminada.

  • Agregar un nuevo conjunto de permisos.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

  • Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).

  • Microsoft Office Excel 2003.

Crear el proyecto

En este paso creará un proyecto de libro de Excel.

Para crear un nuevo proyecto

  • Cree un proyecto de libro de Excel con el nombre Mi prueba de seguridad, utilizando la plantilla de proyecto para Office 2003.

    Los pasos de este tutorial suponen que el proyecto se guarda en C:\Tutoriales. En el asistente, seleccione Crear un nuevo documento. Para obtener más información, vea Cómo: Crear proyectos de Visual Studio para Office.

Visual Studio abre el nuevo libro de Excel en el diseñador y agrega el proyecto Mi prueba de seguridad al Explorador de soluciones.

Agregar código subyacente a la hoja de cálculo

El proyecto necesita código que se pueda ejecutar para probar si la seguridad se ha establecido correctamente. Para este tutorial, agregue un cuadro de mensaje a un evento de inicialización de la hoja de cálculo.

Para agregar un cuadro de mensaje a un evento de inicialización

  1. Compruebe que el libro Mi prueba de seguridad.xls está abierto en el diseñador de Visual Studio, con Sheet1 visualizado.

  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en Sheet1.vb o Sheet1.cs y, a continuación, haga clic en Ver código en el menú de acceso directo.

  3. Agregue el código siguiente al método Startup de la clase Sheet1 para que se muestre un cuadro de mensaje durante la inicialización.

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        MessageBox.Show("Security settings are correct.")
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        MessageBox.Show("Security settings are correct.");
    }
    
  4. Presione F5 para ejecutar el proyecto.

    Se inicia Excel y aparece el cuadro de mensaje.

  5. Cierre el cuadro de mensaje.

  6. Cierre Excel.

  7. En el diseñador de Visual Studio, localice y seleccione la ficha correspondiente a Mi prueba de seguridad.xls.

  8. Cierre Mi prueba de seguridad.xls (la superficie de diseño de la hoja de cálculo de Excel) en el diseñador de Visual Studio.

    Debe cerrar todas las instancias abiertas de Excel para poder cambiar la directiva de seguridad.

Cuando generó el proyecto de libro de Excel, el asistente agregó un grupo de código de seguridad y un grupo de código secundario a la directiva de seguridad en el nivel de usuario.

A continuación, quite el grupo de código creado por el asistente.

Quitar el grupo de código predeterminado

Busque y quite el grupo de código predeterminado creado.

Para quitar un grupo de código

  1. En el Panel de control, abra Herramientas administrativas.

  2. Ejecute Configuración de Microsoft .NET Framework 2.0.

    La herramienta Configuración de Microsoft .NET Framework 2.0 no está incluida en Visual Studio 2008. Puede instalarla como parte del Kit de desarrollo de software (SDK) de .NET Framework 2.0, que está disponible en el Centro de descarga de Microsoft. Para obtener un ejemplo, vea el Kit de desarrollo de software (SDK) de .NET Framework 2.0 (x86).

  3. En el panel de vista de árbol, expanda Configuración de .NET Framework 2.0, Mi PC, Directiva de seguridad en tiempo de ejecución, Usuario, Grupos de código, All_Code y, finalmente, VSTOProjects.

    Existe un GUID para cada proyecto que se ha creado. Expanda cada GUID para ver la ruta de acceso al documento asociado.

  4. Haga clic con el botón secundario en el GUID del grupo de código de C:\Tutoriales\Mi prueba de seguridad\Mi prueba de seguridad\bin\Mi prueba de seguridad.xls y, a continuación, haga clic en Eliminar en el menú de acceso directo.

    Aparece un cuadro de diálogo que pregunta si está seguro de que desea eliminar este grupo de código.

  5. Haga clic en .

  6. Regrese a Visual Studio y, a continuación, presione F5 para ejecutar el proyecto Mi prueba de seguridad.

    Aparece un mensaje de error que indica que la directiva de seguridad de .NET actual no permite la ejecución de la personalización.

  7. Haga clic en Aceptar.

  8. Cierre Excel.

El ensamblado no se puede ejecutar si no dispone de permiso explícito en la directiva de seguridad de Microsoft .NET Framework.

A continuación, conceda permiso al ensamblado utilizando un nombre seguro en lugar de una dirección URL como evidencia.

Proporcionar un nombre seguro al ensamblado

Generalmente, un nombre seguro es más seguro como evidencia que una dirección URL. Puede crear un nombre seguro y asignarlo al ensamblado en Visual Studio.

Para crear un nombre seguro

  1. En el menú Proyecto de Visual Studio, haga clic en Mis propiedades de prueba de seguridad.

  2. Haga clic en la ficha Firma.

  3. Seleccione Firmar el ensamblado.

  4. En la lista Elija un archivo de clave de nombre seguro, haga clic en Nuevo.

  5. En el cuadro de diálogo Crear clave de nombre seguro, escriba SecurityTestKey en el cuadro Nombre del archivo de clave.

  6. Desactive la casilla Proteger mi archivo de clave mediante contraseña.

  7. Haga clic en Aceptar.

    El archivo de clave SecurityTestKey.snk aparece en el Explorador de soluciones.

  8. En el menú Generar, haga clic en Generar solución para generar el ensamblado a partir del par de claves de nombre seguro.

Nota:

Es importante que guarde el archivo de claves en un lugar seguro. Lo normal es que lo proteja mediante contraseña y tome las medidas adecuadas para impedir que tengan acceso a él personas no autorizadas. El archivo de claves es la base de muchas decisiones de confianza. Entregue el archivo de claves sólo a personas que considere confiables y responsables. Si un usuario malintencionado obtiene el archivo de claves y detecta la contraseña, podría crear ensamblados malintencionados parecidos a los suyos.

Conceder confianza basándose en el nombre seguro

Agregue ahora un nuevo grupo de código para conceder plena confianza al ensamblado basándose en el nombre seguro.

Para conceder confianza basándose en el nombre seguro

  1. Abra de nuevo Configuración de Microsoft .NET Framework 2.0.

  2. Haga clic con el botón secundario en el nodo VSTOProjects y, a continuación, haga clic en Nuevo en el menú de acceso directo.

  3. Escriba el nombre Nombre seguro de prueba de seguridad para el nuevo grupo de código y, a continuación, haga clic en Siguiente.

  4. En la lista Elija el tipo de condición para este grupo de código, haga clic en Nombre seguro.

  5. Haga clic en Importar.

  6. Vaya a C:\Tutoriales\Mi prueba de seguridad\Mi prueba de seguridad\bin\Mi prueba de seguridad.dll en Visual Basic o a C:\Tutoriales\Mi prueba de seguridad\Mi prueba de seguridad\bin\debug\Mi prueba de seguridad.dll en C# y, a continuación, haga clic en Abrir.

  7. Haga clic en Siguiente.

  8. Haga clic en Siguiente para aceptar el conjunto de permisos FullTrust y, a continuación, haga clic en Finalizar.

  9. Cierre Configuración de Microsoft .NET Framework 2.0.

Probar la aplicación

Ahora puede probar el proyecto para asegurarse de que se ejecuta el código cuando se abre el libro.

Para probar el libro

  1. Presione F5 para ejecutar el proyecto.

  2. Confirme que aparece el cuadro de mensaje.

Vea también

Tareas

Cómo: Conceder permisos a carpetas y ensamblados (2003 System)

Cómo: Quitar permisos a carpetas y ensamblados (2003 System)

Conceptos

Requisitos de seguridad para ejecutar las soluciones de Office (2003 System)

Procedimientos recomendados sobre seguridad para soluciones de Office (2003 System)

Otros recursos

Seguridad en las soluciones de Office (2003 System)