Parece asegurar vistas de bibliotecas de documentos y lista de SharePoint (tipo de) Posible con jQuery

Este es otro post en mi en serie sobre cómo utilizar jQuery con SharePoint.
Si desea obtener más información sobre jQuery, Lo recomiendo: jQuery en acción por Bibeault de oso y Yehuda Katz.

Una de las primeras cosas que pensé, una vez que empecé a jugar con jQuery, era si podríamos usarlo para garantizar una vista de SharePoint. La respuesta es "no" (o al menos, Yo no estoy reclamando es posible). Sin embargo, es ciertamente posible para que sea difícil para la gente ver una vista particular.

Empecé con mi entorno sandbox al trabajar en este. Escribí acerca de que aquí el medio ambiente: Fácil y rápida: Crear tu propio jQuery Sandbox para SharePoint.

Para "asegurar" una vista, siga estos pasos:

  1. Crear una vista que desea asegurar. Hice y lo llamó "Aseguró ver".

    Esto es lo que parece cuando no está "protegido":

    image

  2. Agregue un elemento web editor de contenido a la página de la vista mediante el truco descrito en el artículo sandbox (i.e. Añadir "páginaVer = Shared&ToolPaneView = 2 "a la dirección URL).
  3. Averiguar su _spUserId SharePoint siguiendo estos pasos loco, creer o no:
    1. Inicie sesión en el entorno de SharePoint.
    2. En el campo de dirección del navegador web, tipo: "javascript:alerta(_spUserId").
    3. Registre el resultado (es "13" en mi caso).

      image

  4. Agregar el siguiente javascript a tu CEWP en la vista Código:

    <la escritura de tipo ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </secuencia de comandos>
    
    <tipo de script ="text/javascript">
      $(función() {
    
        alerta(_spUserId);
    
        var theSecuredView = $(' iframe[FilterLink * = 20View % asegurado]');
    
        Si ((theSecuredView.length > 0) && (_spUserId == 13))
          $(' iframe[FilterLink * = 20View % asegurado]').padre().padre().padre().HTML("<TR bgcolor = rojo><TD>Ninguna visión para usted!</TD></TR>");
      });
    
    </secuencia de comandos>
    

He incluido esa alerta(_spUserId) línea allí para demostrar que esto no es realmente una "seguridad" en una vista, pero simplemente lo que es más difícil ver. Más en el momento de.

Básicamente, jQuery está en busca de un iFrame en la página que tiene un atributo que contiene "Asegurado % 20View" en su valor. Una vez que lo encuentra, comprobamos si el usuario actual es "13". Si se trata de, Caminamos por el DOM para un <TR> etiqueta (que averiguado por ver origen y lo seguimiento de) y, a continuación, reemplazar la etiqueta TR con mi mensaje. Realmente no sé cómo sólida es (Soy muy sospechosa, En realidad), pero trabajó en mi recinto. Si encuentro una mejor manera de, I'll blog sobre ella. Este es el resultado:

image

Haga clic en el botón Aceptar y se sustituyen los datos con un mensaje en rojo grande:

image

Como puede decir, el camino que he de implementar esta solución de "seguridad" es que la parte web para sí mismo. Después de termine, Sobrescribir su contenido con mi "No vista!"el mensaje.

A pesar de que no es realmente un "seguro" "vista, es potencialmente útil y con un trabajo inteligente, Eventualmente puede ser asegurable en un sentido más formal. La cuestión fundamental es que el cliente está recibiendo todos los datos y luego, sólo después de obtiene los datos, elimina a. Si el cliente está recibiendo los datos, un usuario inteligente puede impedir que el jQuery ejecutando a todos y ver lo que quiere ver.

Hay otros inconvenientes. Este enfoque de "seguridad" se basa en un _spUserId. Queremos realmente seguro basado en el modelo completo de seguridad de SharePoint, o por lo menos por nombre de usuario. Se vuelve progresivamente más difícil, pero veo algún buen material escrito sobre este tema, así que confío en que existe una buena respuesta a ese problema.

La lista de vistas propios debe ser recortada, Si es posible. No he probado a averiguarlo. Supongo que es posible, pero realmente no resuelve el problema de seguridad fundamentales porque alguien podría todavía sólo escriba la dirección URL de la vista que desee (Si supieran lo). Sin embargo, ajuste del sentido. Es una característica buena usabilidad y ayuda a oscurecer las cosas. Si un usuario final no sabe que existe el evento, probablemente no intentan utilizar. A veces, es lo suficientemente bueno.

Con suerte, Voy a tener más escribir sobre este tema en el tiempo.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Etiquetas de Technorati: ,,

Etiquetas de del.icio.US: ,,

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *