Hau nire post bat da serie-on going nola erabili jQuery SharePoint batera.
Nahi duzun jQuery buruz gehiago jakin nahi baduzu, Gomendatzen dut oso: Ekintza jQuery Bear Bibeault eta Yehuda Katz arabera.
Gauzak lehen pentsatu nuen bat, behin inguruan play jQuery batekin hasi nintzen, was whether we could use it to secure a SharePoint view. The answer is “no” (edo, gutxienez,, Ez dut posible dela aldarrikatzeko). Hala eta guztiz ere, it is certainly possible to make it difficult for people to see a particular view.
I started with my sandbox environment when working on this. I wrote about that environment here: Azkarra eta erraza: Sortu zure SharePoint jQuery Norberak Sandbox.
Eta "seguru" ikuspegi bat, urrats hauek:
- Create a view you want to secure. I did that and called it “Secured View”.
Hau da, zer egiten ari atsegin ez "segurtatu" badirudi:
- Gehitu edukia editorearen web parte ikuspegi orrian sandbox artikuluan deskribatzen trikimailu erabiliz (I.E. gehitzeko "orri = Partekatua&ToolPaneView = 2 "URL).
- Figure out your SharePoint _spUserId by following these crazy steps, sinetsi edo ez:
- Zure SharePoint ingurumena sartu.
- Web nabigatzailearen helbide-eremuan, mota: "Javascript:ohartaraztea(_spUserId ").
- Grabatu emaitza (da, "13" nire kasuan).
- Gehitu ondorengo JavaScript zure CEWP kodea ikuspegian:
<script
"text/javascript"
src ="../../jQuery Library/jquery-1.3.2.min.js">
</script>
<script mota ="text/javascript">
$(funtzioa() {
ohartaraztea(_spUserId);
izan zen theSecuredView = $('Iframe[FilterLink * = Berme% 20View]');
bada ((theSecuredView.length > 0) && (_spUserId == 13))
$('Iframe[FilterLink * = Berme% 20View]').gurasoa().gurasoa().gurasoa().html("<tr bgcolor = gorria><td>Zuretzat ikuspegi No!</td></tr>");
});
</script>
|
Nik sartutako alerta duten(_spUserId) ez lerro nola, hori ez da benetan "bermatu" ikuspegi bat erakusteko, but simply making it more difficult to see. More on that in a moment.
Funtsean,, jQuery is looking for an iFrame on the page who has an attribute that contains “Secured View” in its value. Once it finds it, we check to see if the current user is “13”. If it is, sortu dugu oinez DOM bati <TR> Etiketa (bertan figured I iturburua ikusteko, eta Bektorizatu arabera) eta, ondoren, TR etiketa duten ordezkatuz nire mezua. Ez dut jakin nola sendo hau (Oso susmagarria naiz, Izan ere,), but it worked in my sandbox. If I find a better way, Horri buruz egingo dut blog. Hauxe da emaitza:
Ados botoian klik egiten dut, eta datuak gorri handi mezu batekin ordezkatu:
Dezakezu, esan bezala,, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, Bere edukia gainidatziko da nire "duzun ikuspegia No!"Mezu.
Izan ere, hori ez da benetan "seguru" ikuspegi arren, potentzialki erabilgarria eta zenbait clever lana da, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, soilik ondoren, datuak lortzen, it wipes it out. If the client is getting the data, clever erabiltzaile bat jQuery saihesteko dezakezu guztiak at exekutatzen ikusi eta zer egin zuen / zituen nahi ikusi.
There are other drawbacks. This “security” approach is based off a _spUserId. We’d want to really secure based on the full SharePoint security model, or at least by user name. That becomes progressively harder, baina, gai honen inguruan idatzitako ona gauza batzuk ikusten ditut, beraz, itxaropentsu dago arazo hori erantzun ona izan dut.
The aldiz zerrenda bera moztutako behar dira, posible bada. I haven’t tried to figure that out. I assume it’s possible, baina ez du benetan konpontzeko oinarrizko segurtasun zulo norbait oraindik ere ezin izan delako, besterik gabe idatzi ikuspegian URL dute nahi (bazekien badute). Hala eta guztiz ere, trimming makes sense. It’s a good usability feature and it helps to obfuscate things. If an end user doesn’t know that the view event exists, they probably won’t try to use it. Batzuetan,, Hori nahikoa.
Zorte batera, Gehiago izan dut gai honen inguruan idatzi denboran zehar.
</amaiera>
Nire blog Harpidetu.
Follow me on Twitter http://www.twitter.com/pagalvin