Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.
Yksi ensimmäisistä asioista olen ajatellut, Kun aloin pelata noin kanssa jQuery, tehty, onko voisimme käyttää sitä varmistaa SharePoint-näkymää. Vastaus on "ei" (tai ainakin, En väitä on mahdollista). Kuitenkin, on varmasti mahdollista vaikeuttaa erityisesti tarkastella.
Aloitin sandbox-ympäristöä, kun työtä tämän. Kirjoitin siitä, että ympäristö: Nopea ja helppo: Luo oma jQuery hiekkalaatikko SharePoint.
Jotta "secure" näkymä, toimi seuraavasti:
- Luo näkymä, jonka haluat suojata. Tein niin ja kutsui sitä "Vakuutena View".
Tämä on miltä se näyttää, kun se ei ole "suojattu":
- Sisällön muokkaus-web-osan lisääminen kohteleva puijata hiekkalaatikko artikkelissa kuvattu näkymäsivu (ts. Lisää "näyttökertojen = jaettu&ToolPaneView = 2 URL).
- Selvittää SharePoint-_spUserId hullu seuraavasti, usko tai älä:
- Kirjautua SharePoint-ympäristöön.
- Web-selaimen osoitekenttään, tyyppi: "javascript:hälytys(_spUserId").
- Tietueen tulos (se on "13" minun tapauksessani).
- Lisää seuraava javascript CEWP koodi-näkymässä:
<komentosarjan tyyppi ="text/javascript"
src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</Script>
<komentosarjan tyyppi ="text/javascript">
$(funktio() {
hälytys(_spUserId);
var theSecuredView = $("iframe[FilterLink * = suojattu % 20View]');
Jos ((theSecuredView.length > 0) && (_spUserId == 13))
$("iframe[FilterLink * = suojattu % 20View]').vanhemman().vanhemman().vanhemman().HTML("<TR bgcolor = punainen><TD>Ei näkymä!</TD></TR>");
});
</Script>
|
Olen myös kyseisen ilmoituksen(_spUserId) rivin siellä osoittaa, miten tämä ei ole todella "varmistaa" näkymä, mutta vain vaikeuttaa nähdä. Lisää, että hetken.
Pohjimmiltaan, jQuery etsii iFrame sivulla, jolla on määrite, joka sisältää "Suojattu % 20View" arvo. Kun se löytää, Tarkistamme onko nykyinen käyttäjä "13". Jos se on, Me kävellä DOM <TR> Tag (joka olen tajunnut tarkastelemalla lähde ja jäljittäminen on) ja sitten korvaa TR tag viestini. En todellakaan tiedä, miten vahva se on (Suhtaudun hyvin epäilevästi, Itse asiassa), mutta se toimi minun hiekkalaatikko. Jos löytää parempi tapa, I'll blogia siitä. Tämä johtuu:
Napsauta OK-painiketta ja tiedot korvataan iso punainen viesti:
Kuten voitte kertoa, Olen toteuttaa tämä "security"-ratkaisu otetaan käyttöön salli web-osan tehdä itse. Kun on valmis, Olen korvata sen sisältöä "ei ole mielestäni sinulle!"viesti.
Huolimatta siitä, että se ei ole todella "suojattu" "view, se on mahdollisesti hyödyllinen ja taitava töitä, lopulta on suojattavan muodollinen mielessä. Peruskysymys on, että asiakas on saada kaikki tiedot ja sitten, vasta, kun se saa tiedot, Se pyyhkii pois. Jos asiakas on saada tiedot, taitava käyttäjä voi estää jQuery käynnissä ollenkaan ja nähdä, mitä hän haluaa nähdä.
Muita haittoja. Tämä "security"-lähestymistapa perustuu pois _spUserId. Haluaisimme todella turvallinen perustuu koko SharePoint-suojausmalli, tai ainakin käyttäjänimi. Se tulee asteittain vaikeampaa, mutta näen joitakin hyviä juttuja kirjoittanut tästä aiheesta, Joten olen toiveikas on hyvä vastaus tähän ongelmaan.
Luettelon näkymistä, itse olisi puhdistettava, Jos mahdollista. En ole kokeillut asian selvittämisestä. Oletan, että on mahdollista, mutta ei todella ratkaista laatua turvallisuuden kysymystä, koska joku voisi vain kirjoittaa URL-osoitteen haluaa mieltä (Jos he tietäisivät). Kuitenkin, leikkaus on järkevää. Se on hyvä käytettävyys ominaisuutta ja se auttaa hämätä asioita. Jos käyttäjä ei tiedä, että Näytä-tapahtuma on olemassa, he todennäköisesti aio yrittää käyttää sitä. Joskus, se riittää.
Onnea, Otan enemmän kirjoittaa aiheesta ajan.
</loppu>
Tilaa blogiin.
Noudata minut viserrys http://www.twitter.com/pagalvin