Սա եւս մեկ գրառումը իմ - ին մտադիր է մի շարք թե ինչպես օգտագործել jQuery ինչպես Sharepoint.
Եթե ցանկանում եք ավելին իմանալ այն մասին jQuery, Ես բարձր խորհուրդ: jQuery - ին գործողության - ի կողմից կրած Bibeault եւ Yehuda Katz.
Առաջիններից մեկը, բաներ ես մտածեցի, Երբ ես սկսել խաղալ ամբողջ հետ jQuery, էր, թե արդյոք մենք կարող ենք օգտագործել այն ապահովել SharePoint տեսակետը. Պատասխանն է, «ոչ» (կամ առնվազն, Ես չեմ պնդում, որ դա հնարավոր է). Սակայն, դա, իհարկե, հնարավոր է, որ դժվար է մարդկանց տեսնել որոշակի տեսակետը.
Ես սկսեցի իմ ավազատուփ շրջակա միջավայրի, երբ աշխատում է այս. Ես գրել է այդ մասին միջավայրում Մականուն: Արագ եւ հեշտ: Ստեղծել ձեր սեփական jQuery դեպի ավազաման համար Sharepoint.
Է «ապահովել», նպատակ, հետեւեք այս քայլերին,:
- Ստեղծել տեսակետը ցանկանում եք ապահովել. Ես այդպես վարվեց, եւ այն անվանել է «Պաշտպանված View".
Սա կարծես թե դա ոչ թե «ապահովել»::
- Ավելացնել բովանդակության խմբագիր վեբ մասը տեսակետից էջում օգտագործելով խաբել նկարագրել է դեպի ավազաման հոդվածում (i.e. լրացնել «Էջերի դիտման = Հղում&ToolPaneView = 2 »է հղում).
- Պարզել ձեր SharePoint _spUserId, հետեւելով այդ խենթ քայլերը, կարծում են, թե ոչ:
- Մտնեք Ձեր Sharepoint միջավայրում.
- Է զննարկչով ի հասցեի դաշտում, տիպ: "JavaScript:զգաստ(_spUserId ").
- Գրանցեք արդյունքները (դա »: 13« Իմ դեպքում,).
- Ավելացնել հետեւյալ բովանդակությամբ JavaScript տեխնոլոգիա: Ձեր CEWP թ կոդը տեսանկյունից:
<ձեռագիր
"Text / JavaScript"
Բացել =Է. /.. / JQuery% - ը 20Library/jquery-1.3.2.min.js">
</ձեռագիր>
<script տեսակ ="Text / JavaScript">
$(ֆունկցիա() {
զգաստ(_spUserId);
էր theSecuredView = $('Iframe[FilterLink * = ապահով% 20View]');
եթե ((theSecuredView.length > 0) && (_spUserId == 13))
$('Iframe[FilterLink * = ապահով% 20View]').ծնող().ծնող().ծնող().html("<TR bgcolor = կարմիր><TD>Ոչ տեսք ձեզ!</TD></TR>");
});
</ձեռագիր>
|
Ես գտել է, որ զգոն(_spUserId) գիծ կա, ցույց տալ, թե ինչպես է դա իրականում է «ապահովել», նպատակ, այլ պարզապես դարձնելով այն ավելի դժվար է տեսնել. Ավելի շատ է, որ մի պահ.
Հիմնականում, 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, մենք քայլում ենք Dom-ից ա <TR> օր (որը ես նախշավոր կողմից փակցված աղբյուրներից եւ հետեւել դրան) եւ ապա, փոխարինելով այդ TR հատկորոշիչը իմ հաղորդագրություններից. Ես իսկապես չգիտեմ, թե որքան ուժեղ է (Ես շատ կասկածելի է, փաստորեն), but it worked in my sandbox. If I find a better way, Ես օրագիրը մասին. Սա արդյունք է:
Ես սեղմեք հաղորդագրությունները OK կոճակը եւ տվյալների փոխարինվում է մի մեծ կարմիր հաղորդագրություններից:
Ինչ կարող եք ասել, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, Ես գրել է դրա բովանդակությունը, իմ կարծիքով «Ոչ համար Ձեզ!"Հաղորդագրությունը.
Չնայած այն հանգամանքին, որ դա ոչ թե իսկապես «ապահով»: տեսք, դա հնարավոր օգտակար եւ որոշ խելացի աշխատանքներ, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, հետո միայն այն ստանում է տվյալներ,, it wipes it out. If the client is getting the data, մի խելացի օգտվող կարող է կանխել jQuery - ից վազում ին եւ տեսնել, թե ինչ / Նա ուզում է տեսնել.
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, բայց ես տեսնում եմ ինչ - որ լավ իրեր գրված այս թեմայի, այնպես որ ես լիահույս կա լավ պատասխան այդ խնդրի.
Ցանկը դիտարկումներ իրենք պետք է trimmed, եթե հնարավոր է. I haven’t tried to figure that out. I assume it’s possible, բայց չի, իսկապես լուծում հիմնարար անվտանգության հարցը, քանի որ ինչ - որ մեկը կարող է պարզապես տպեք. URL տեսակետից ուզում (եթե նրանք դա գիտեին). Սակայն, 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. Երբեմն, որ լավ զգալ.
With բախտին, Ես կասեմ, որ ավելի է գրել այս թեմայի ժամանակի ընթացքում.
</վերջ>
Անդամագրվել իմ բլոգում.
Գտեք Twitter-ում http://www.twitter.com/pagalvin