Обезопасяване на изгледи на библиотеката на SharePoint списък/документ изглежда (сортиране на) Възможно с jQuery

Това е друга длъжност в моя текущи серии Как да използвате jQuery с SharePoint.
Ако искате да научите повече за jQuery, Аз силно препоръчвам: jQuery в действие да носят Bibeault и Йехуда Катц.

Едно от първите неща, мислех, че, след като започнах да играе около с jQuery, е дали можем да го използваме да осигури изглед на SharePoint. Отговорът е "не" (или най-малко, Аз съм не претендира, е възможно). Въпреки това, Това със сигурност е възможно да я направи трудно за хората да виждат определен изглед.

Започнах с моя пясък околната среда, когато се работи по този. Аз написах за тази среда тук: Бърз и лесен: Създадете ваше собствено jQuery пясъчницата за SharePoint.

За "защита" на изглед, Изпълнете следните стъпки:

  1. Създаване на изглед, който искате да защитите. Направих това и го нарича "Защитен изглед".

    Това е, как изглежда той когато той не е "защитен":

    image

  2. Добавяне на уеб компонент за редактор на съдържание към на изглед на страница с помощта на взятка, описана в статията на пясъчницата (т.е.. Добавяне на "по преглед на страници = споделени&ToolPaneView = 2 "към URL).
  3. Разбера вашия SharePoint _spUserId като следвате тези стъпки, луд, вярват или не:
    1. Влезте във вашия SharePoint среда.
    2. В адресното поле на уеб браузъра, тип: "javascript:предупреждение(_spUserId").
    3. Запис на резултата (Това е "13" в моя случай).

      image

  4. Прибавям определителен член последователи 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 етикет със моето съобщение. Наистина не знам как силен, това е (Аз съм много подозрителни, Всъщност), но тя работи в моя пясък. Ако намеря по-добър начин, Аз ще блог за него. Това е резултат:

image

Аз щракнете върху бутона OK и данните се заменя с голяма червено съобщение:

image

Както можете да съобщите на, начина, по който аз съм реализиране разтворът "сигурност" е да позволи на уеб частта да се направи. След като завърши, I замените съдържанието му с моите "изглед за вас!"съобщение.

Независимо от факта, че тя не е наистина "защитена '" Изглед, това е потенциално полезен и с някои умен работи, в крайна сметка може да се защитим в по-формален смисъл. Основният въпрос е, че клиентът е получаването на всички данни и след това, само след като получава данните, то го бърша вън. Ако клиентът е получаване на данни, умен потребител може да предотврати стартирането на всички jQuery и вижте Какво, той иска да видите.

Има и други недостатъци. Този "сигурност" подход се основава на разстояние _spUserId. Ще искаме да наистина сигурна въз основа на модел на пълна сигурност на SharePoint, или поне по потребителско име. Това става постепенно по-трудно, но аз виждам някои добри неща, написани по този въпрос, така че аз съм надежда е добър отговор за този проблем.

Списъкът на изгледи, самите се почистват, Ако е възможно. Аз не съм опитал да разбера, че. Предполагам, че е възможно, но наистина не реши основните гаранцията проблем, защото някой може да просто въведете URL АДРЕСА на изгледа, те искат (ако те са знаели го). Въпреки това, Подстригване има смисъл. Това е добра използваемост функция и това помага да обърквам нещата. Ако краен потребител не знае, че съществува събитие преглед, те вероятно няма да се опитвам да го използвате. Понякога, това е достатъчно добър.

С късмет, Ще го взема повече да пише по този въпрос във времето.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Technorati тагове: ,,

del.icio.US тагове: ,,

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *