Zavarovanje SharePointovega seznama/dokumenta knjižnice poglede se zdi (neke vrste) Mogoče z jQuery

To je še en post v mojem tekoče series kako uporabljati jQuery s SharePointom.
Če želite izvedeti več o jQuery, Toplo priporočam: jQuery v akciji Bibeault medved in Yehuda Katz.

Ena od prvih stvari, ki sem mislil, ko sem začel igrati z jQuery, je bil ali bi lahko uporabili za zavarovanje v SharePointov pogled. Je odgovor "ne" (ali vsaj, Ne sem trdila, da je mogoče). Vendar, To je zagotovo mogoče, da bi bilo težko za ljudi, da vidijo zlasti.

Sem začel z mojo sandbox okolju, ko delajo na tem. Sem pisal o tem okolju tukaj: Hitro in enostavno: Ustvarite svojo lastno jQuery Sandbox za SharePoint.

"Zavarovati" pogled, sledite tem korakom:

  1. Ustvarite pogled, ki ga želite varno. Sem storil in pozval, da "Zavarovane pogled".

    To je, kako izgleda ko to ni "zavarovana":

    image

  2. Dodajte spletni gradnik urejevalnika vsebine v pogledu strani using ukana, opisano v članku prodajelec peska (i.e. Dodaj "ogleda = v skupni rabi&ToolPaneView = 2" v URL).
  3. Razbrati SharePoint _spUserId z naslednjim korakom nor, verjeti ali ne:
    1. Prijavite v vašem okolju SharePoint.
    2. V polje naslov spletnega brskalnika, vrsta: "javascript:Opozorilo(_spUserId").
    3. Zapis rezultat (To je "13", v mojem primeru).

      image

  4. Sledeč javascript dodati vaš CEWP v pogled kode:

    <scenarij vrsta ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <skript tipa ="text/javascript">
      $(Funkcija() {
    
        Opozorilo(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = zavarovane % 20View]');
    
        Če ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = zavarovane % 20View]').staršev().staršev().staršev().HTML("<tr bgcolor = rdeča><TD>Noben pogled za vas!</TD></tr>");
      });
    
    </skript>
    

Sem vključen to opozorilo(_spUserId) vrisati tam dokazati, kako to ni res a "zavarovanje" pogled, ampak preprosto zaradi česar je težje videti. Več o tem v trenutku.

V bistvu, jQuery išče iFrame na strani, ki ima atribut, ki vsebuje "Secured % 20View" v njegovo vrednost. Ko ga najde, preverimo, ali je trenutni uporabnik "13". Če je, hodimo od DOM v a <TR> Tag (ki sem pogruntal z ogledom vir in sledenje je) in nato zamenjavo to oznako TR z moje sporočilo. Res ne vem, kako močna je (Jaz sem zelo sumljivo, v bistvu), šele to obdelan v svoj peskovnik. Če se mi zdi boljši način, Bom blog o tem. To je rezultat:

image

I kliknite na gumb OK in podatki nadomesti s velik rdeče vest:

image

Kot veste, način, ki sem izvajati ta "varnost" rešitev je omogočiti spletnemu gradniku, da postane sam. Ko se konča, Sem prepisal njeno vsebino z moje "ne Poglej zate!"sporočilo.

Kljub dejstvu, da to ni res a "zavarovane" "pogled, je potencialno koristnih in z nekaj pameten dela, Sčasoma je mogoče zaščititi v bolj formalnem pomenu. Temeljno vprašanje je, da je stranka dobili vse podatke in nato, šele, ko dobi podatke, to obrisati to jasno. Če odjemalec je pridobivanje podatkov, pameten uporabnik lahko jQuery preprečiti izvajanje sploh in videti, kaj on/ona želi, da.

Obstajajo druge pomanjkljivosti. Ta "varnost" pristop temelji off a _spUserId. Mi bi rad zares varno na podlagi polno SharePoint varnostni model, ali vsaj uporabniško ime. Da postane postopoma težje, ampak vidim nekaj dobrih stvari, napisal na to temo, tako sem upa, je dober odgovor na ta problem.

Seznam pogledov, sami se obrezuje, Če je mogoče. Nisem poskušal ugotoviti. Predvidevam, da je mogoče, ampak res ne rešuje temeljnih varnostno vprašanje, ker nekdo lahko vedno samo vnesite URL pogleda hočejo (Če bi vedeli). Vendar, obrezovanje je smiselno. To je a dober uporabnost zunanja oblika in pripomore k Pomutiti stvari. Če končni uporabnik ne ve, da obstaja pogled dogodek, verjetno ne bo začeti rabiti to. Včasih, To je dovolj dober.

Z malo sreče, Bomo imeli več pisati o tej temi skozi čas.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

pusti odgovor

Vaš e-naslov ne bo objavljen. Obvezna polja so označena *