Asigurarea vederi de bibliotecă SharePoint lista/Document pare (un fel de) Este posibil cu jQuery

Acesta este un alt post în meu serie de curs cum să utilizaţi jQuery cu SharePoint.
Dacă doriţi să aflaţi mai multe despre jQuery, Am foarte recomanda: jQuery în acţiune Bear Bibeault şi Yehuda Katz.

Unul dintre primele lucruri pe care am crezut, Odată ce am început să joace în jurul cu jQuery, a fost dacă am putea folosi pentru a asigura o vizualizare SharePoint. Răspunsul este "nu" (sau cel puţin, Nu sunt pretinzând că este posibil). Cu toate acestea, este cu siguranţă posibil pentru a face dificil pentru oameni să vadă special.

Am inceput cu mediul meu nisip atunci când lucrează la acest lucru. Am scris despre acest mediu aici: Rapid şi uşor: Create Your Own jQuery cutia cu nisip pentru SharePoint.

Pentru a "fixa" o, urmaţi aceşti paşi:

  1. Creaţi o vizualizare care doriţi pentru a asigura. Am făcut asta şi a numit-o "Asigurat Vezi".

    Aceasta este ceea ce arata ca atunci când acesta este nu "asigurat":

    image

  2. Adăugaţi o parte de editor de conţinut web pe pagina folosind truc descrise în articolul nisip (adică. Adauga "pageviews = partajate&ToolPaneView = 2" de la URL-ul).
  3. Dau seama ta _spUserId SharePoint urmând aceşti paşi nebun, crezi sau nu:
    1. Intraţi în mediul de SharePoint.
    2. În câmpul de adresă a browserului web, tip: "javascript:alertă(_spUserId").
    3. Înregistrează rezultatul (este "13" in cazul meu).

      image

  4. Adăugaţi următoarele javascript să vă CEWP în Vizualizare cod:

    <script-ul de tip ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </script-ul>
    
    <script-ul de tip ="text/javascript">
      $(funcţia() {
    
        alertă(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = securizate % 20View]');
    
        Dacă ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = securizate % 20View]').părinte().părinte().părinte().HTML("<TR bgcolor = roşu><TD>Nu Vezi pentru tine!</TD></TR>");
      });
    
    </script-ul>
    

Am inclus acest alertă(_spUserId) linie acolo pentru a demonstra cum acest lucru nu este cu adevărat un "asigurarea" o, dar pur şi simplu ceea ce face mai greu pentru a vedea. Mai mult pe faptul că într-o clipă.

Practic, jQuery este în căutarea pentru un iFrame de pe pagina care are un atribut care conţine "Securizat % 20View" în valoarea acestuia. După ce se constată, vom verifica pentru a vedea dacă utilizatorul curent este "13". În cazul în care este, am mers până DOM pentru a o <TR> Tag-ul (care m-am gândit de vizualizare sursă şi de urmărire a) şi apoi de înlocuire care TR tag-ul cu mesajul meu. Eu chiar nu ştiu cât de robust este (Eu sunt foarte suspecte, de fapt), dar a lucrat în mea cu nisip. Dacă am găsi o cale mai bună, Voi blog despre ea. Acesta este rezultatul:

image

Am faceţi clic pe butonul OK şi datele este înlocuit cu un mesaj roşu mare:

image

Cum poti spune, modul în care l-am pune în aplicare această soluţie de "securitate" este de a permite partea web să facă în sine. Dupa ce termina, Am suprascrie conţinutul său cu meu "nu Vezi pentru tine!"mesaj.

În ciuda faptului că nu este într-adevăr de un "securizate" "Vezi, este potenţial util şi cu unele inteligent de lucru, în cele din urmă poate fi securizabil într-un sens mai formale. Problema fundamentală este că clientul este obtinerea toate datele şi apoi, numai după ce acesta devine datele, se rade. În cazul în care clientul este obtinerea de date, un utilizator inteligent poate împiedica rularea la toate jQuery şi a vedea ceea ce el/ea vrea să vadă.

Există alte dezavantaje. Această abordare de "securitate" este bazat pe o _spUserId. Ne-ar dori să cu adevărat sigură bazat pe modelul de securitate SharePoint plin, sau cel puţin de nume de utilizator. Care devine progresiv mai greu, dar văd unele lucruri bune scris pe această temă, Deci, eu sunt plin de speranţă nu există un răspuns bun la această problemă.

Lista de vedere ei înşişi ar trebui să fie împodobite, dacă este posibil. Nu am incercat sa seama de asta. Presupun că este posibil, dar într-adevăr nu rezolvă problema fundamentale de securitate pentru că cineva ar putea încă doar să tastaţi URL-ul de vedere doresc (dacă acestea ştiau că). Cu toate acestea, Tunderea are sens. Este o caracteristică bun uzabilitate şi ajută la eclipsa lucruri. În cazul în care un utilizator final nu ştie că evenimentul Vezi există, ei, probabil, nu va încerca să-l utilizaţi. Uneori, Asta e destul de bun.

Cu noroc, Voi avea mai mult pentru a scrie pe acest subiect în timp.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *