Това е друга длъжност в моя текущи серии Как да използвате jQuery с SharePoint.
Ако искате да научите повече за jQuery, Аз силно препоръчвам: jQuery в действие да носят Bibeault и Йехуда Катц.
Едно от първите неща, мислех, че, след като започнах да играе около с jQuery, е дали можем да го използваме да осигури изглед на SharePoint. Отговорът е "не" (или най-малко, Аз съм не претендира, е възможно). Въпреки това, Това със сигурност е възможно да я направи трудно за хората да виждат определен изглед.
Започнах с моя пясък околната среда, когато се работи по този. Аз написах за тази среда тук: Бърз и лесен: Създадете ваше собствено jQuery пясъчницата за SharePoint.
За "защита" на изглед, Изпълнете следните стъпки:
- Създаване на изглед, който искате да защитите. Направих това и го нарича "Защитен изглед".
Това е, как изглежда той когато той не е "защитен":
- Добавяне на уеб компонент за редактор на съдържание към на изглед на страница с помощта на взятка, описана в статията на пясъчницата (т.е.. Добавяне на "по преглед на страници = споделени&ToolPaneView = 2 "към URL).
- Разбера вашия SharePoint _spUserId като следвате тези стъпки, луд, вярват или не:
- Влезте във вашия SharePoint среда.
- В адресното поле на уеб браузъра, тип: "javascript:предупреждение(_spUserId").
- Запис на резултата (Това е "13" в моя случай).
- Прибавям определителен член последователи javascript към вашия CEWP в изглед на код:
<скрипт тип ="текст/javascript"
SRC =".. /.. /JQuery Library/JQuery-1.3.2.min.js">
</скрипт>
<скрипт тип ="текст/javascript">
$(функция() {
предупреждение(_spUserId);
var theSecuredView = $("iframe[FilterLink * = обезпечени % 20View]');
Ако ((theSecuredView.length > 0) && (_spUserId == 13))
$("iframe[FilterLink * = обезпечени % 20View]').родител().родител().родител().HTML("<TR bgcolor = червен><TD>Няма изглед за вас!</TD></TR>");
});
</скрипт>
|
Аз бях включен това предупреждение(_spUserId) линия там да демонстрира как това не е наистина "осигуряване" изглед, но просто като го направи по-трудно да се види. Повече за това в един момент.
По принцип, jQuery е гледам за iFrame в страницата, който има атрибут, който съдържа "Гарантираните % 20View" в своята стойност. След като установи, че, Ние проверяваме дали текущият потребител е "13". Ако това е, Ние се изкачват на дом за <TR> етикет (което аз релефна повърхност показване на източник и го за проследяване) и след това замени този TR етикет със моето съобщение. Наистина не знам как силен, това е (Аз съм много подозрителни, Всъщност), но тя работи в моя пясък. Ако намеря по-добър начин, Аз ще блог за него. Това е резултат:
Аз щракнете върху бутона OK и данните се заменя с голяма червено съобщение:
Както можете да съобщите на, начина, по който аз съм реализиране разтворът "сигурност" е да позволи на уеб частта да се направи. След като завърши, I замените съдържанието му с моите "изглед за вас!"съобщение.
Независимо от факта, че тя не е наистина "защитена '" Изглед, това е потенциално полезен и с някои умен работи, в крайна сметка може да се защитим в по-формален смисъл. Основният въпрос е, че клиентът е получаването на всички данни и след това, само след като получава данните, то го бърша вън. Ако клиентът е получаване на данни, умен потребител може да предотврати стартирането на всички jQuery и вижте Какво, той иска да видите.
Има и други недостатъци. Този "сигурност" подход се основава на разстояние _spUserId. Ще искаме да наистина сигурна въз основа на модел на пълна сигурност на SharePoint, или поне по потребителско име. Това става постепенно по-трудно, но аз виждам някои добри неща, написани по този въпрос, така че аз съм надежда е добър отговор за този проблем.
Списъкът на изгледи, самите се почистват, Ако е възможно. Аз не съм опитал да разбера, че. Предполагам, че е възможно, но наистина не реши основните гаранцията проблем, защото някой може да просто въведете URL АДРЕСА на изгледа, те искат (ако те са знаели го). Въпреки това, Подстригване има смисъл. Това е добра използваемост функция и това помага да обърквам нещата. Ако краен потребител не знае, че съществува събитие преглед, те вероятно няма да се опитвам да го използвате. Понякога, това е достатъчно добър.
С късмет, Ще го взема повече да пише по този въпрос във времето.
</край>
Абонирайте се за моя блог.
Следвайте ме на Twitter в http://www.twitter.com/pagalvin