Zabezpečenie zobrazení knižnice SharePoint zoznam dokladu sa zdá (druh) S jQuery

To je iný post v mojej on-prebiehajúcej série ako používať jQuery so službou SharePoint.
Ak sa chcete dozvedieť viac o jQuery, Vrelo odporúčam: jQuery v akcii Medveď Bibeault a Jehuda Katz.

Jedna z prvých vecí, ktoré som si myslel, Akonáhle som začal hrať asi s jQuery, bolo, či by sme mohli použiť na zabezpečenie zobrazenie lokality SharePoint. Odpoveď je "nie" (alebo aspoň, Netvrdím, že je možné). Avšak, to je určite možné, aby bolo ťažké pre ľudí vidieť konkrétne zobrazenie.

Začal som s mojom pieskovisku prostredie, pri práci na tejto. Písal som o životné prostredie, že tu: Rýchle a jednoduché: Vytvorte si vlastné jQuery Sandbox pre SharePoint.

"Zabezpečiť" zobrazenie, postupujte nasledovne:

  1. Vytvoriť zobrazenie, ktoré chcete zabezpečiť. To urobil, a nazval ho "Zabezpečené View".

    To je, ako to vyzerá, keď to nie je "zabezpečené":

    image

  2. Pridať webovú časť editora obsahu do zobrazenie stránky pomocou trik opísaný v článku pieskovisko (tj. Pridať "zobrazenie stránky = zdieľané&ToolPaneView = 2 URL).
  3. Vymyslieť SharePoint _spUserId šialené nasledovne, Verte alebo nie:
    1. Prihláste sa do prostredia SharePoint.
    2. Vo webovom prehľadávači adresu pole, typ: "javascript:Upozornenie(_spUserId").
    3. Rekordný výsledok (je to "13" v mojom prípade).

      image

  4. Pridajte nasledujúci javascript do vášho CEWP v zobrazení kódu:

    <scenár typu ="textu/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <scenár typu ="textu/javascript">
      $(Funkcia() {
    
        Upozornenie(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = zabezpečené % 20View]');
    
        Ak ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = zabezpečené % 20View]').rodič().rodič().rodič().HTML("<TR bgcolor = červená><TD>Žiadne zobrazenie pre vás!</TD></TR>");
      });
    
    </skript>
    

Uviedol som záznam(_spUserId) riadok tam preukázať, ako to nie je naozaj "zabezpečenie" zobrazenie, ale jednoducho robiť to ťažšie vidieť. Viac o ktoré za chvíľu.

V podstate, jQuery hľadá iFrame na stránke, ktorá má atribút obsahujúci "20View % zabezpečené" hodnota. Akonáhle to zistí, že, môžeme skontrolovať, či je aktuálny používateľ je "13". Ak je to, Prejdeme sa DOM na <TR> Tag (ktoré som vymyslel podľa prezeranie zdroj a sledovania) a potom nahradiť túto značku TR moje posolstvo. Naozaj neviem, ako silný to je (Som veľmi podozrivý, v skutočnosti), ale to fungovalo v mojom pieskovisko. Ak som nájsť lepší spôsob, ako, Budem blog o tom. Toto je výsledok:

image

Kliknutím na tlačidlo OK a údajov nahrádza s veľké červené správu:

image

Ako môžete povedať, spôsob, akým som vykonávať tento roztok "bezpečnosť" je umožniť webovú časť k tomu, aby sám. Po jeho skončení, Som prepísať jeho obsah s môj "žiadne zobrazenie pre vás!"správa.

Napriek skutočnosti, že to nie je naozaj "zabezpečený" "pohľad, to je potenciálne užitočná a s niektorými chytrý prácu, Nakoniec možno zabezpečiteľný formálnejšie zmysel. Zásadný problém je, že klient získava všetky údaje a potom, až potom dostane dáta, to vytrie. Ak klient získava údaje, šikovný užívateľ môže zabrániť jQuery vôbec a vidieť to, čo chce vidieť.

Existujú iné nedostatky. Toto "zabezpečenia" prístup vychádza z _spUserId. Chceme by naozaj bezpečný na základe plnej model zabezpečenia služby SharePoint, alebo aspoň podľa mena používateľa. To sa stáva postupne ťažšie, ale vidím niektoré dobré veci napísané na túto tému, tak som si nádeje, je to dobrá odpoveď na tento problém.

Zoznam zobrazení, sami by mali byť pristrihnuté, Ak je to možné. Som sa snažil prísť na to. Predpokladám, že je možné, ale naozaj nerieši zásadný bezpečnostný problém, pretože niekto mohol ešte len zadajte adresu URL zobrazenia chcú (keby vedeli, že). Avšak, orezávanie zmysel. Je to funkcia dobrú použiteľnosť a pomáha popliesť veci. Ak koncový používateľ nevie, či Zobraziť udalosti existuje, Oni pravdepodobne nebude snažiť používať. Niekedy, to je dosť dobré.

S trochou šťastia, Budete mať viac písať na túto tému v priebehu času.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

nechať odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *