To je další post v mé probíhající série Jak používat jQuery s SharePoint.
Pokud se chcete dozvědět více o jQuery, Důrazně doporučujeme: jQuery v akci
Medvěd Bibeault a Jehuda Katz.
Jedna z prvních věcí, kterou jsem myslel, že, Jakmile jsem začal hrát si s jQuery, byl, zda bychom mohli použít k zajištění zobrazení služby SharePoint. Odpověď je "ne" (nebo alespoň, Já netvrdím, že je to možné). Avšak, To je jistě možné, aby bylo obtížné pro lidi vidět konkrétní zobrazení.
Začal jsem s mého prostředí sandbox, při práci na tomto. Psal jsem o tomto prostředí: Rychlé a snadné: Vytvořit svůj vlastní jQuery izolovaného prostoru pro SharePoint.
"Bezpečné" pohled, postupujte podle těchto kroků:
- Vytvoření zobrazení, které chcete zabezpečit. Udělal to a nazval jej "Zajištěné View".
To je, jak to vypadá, když to není "zabezpečená":
- Přidat webovou část editor obsahu do stránky v zobrazení pomocí trik popsaný v článku pískoviště (tj. Přidat "zobrazení = Shared&ToolPaneView = 2 "na adresu URL).
- Zjistit SharePoint _spUserId pomocí následujících kroků crazy, Věřte nebo ne:
- Přihlaste se do prostředí aplikace SharePoint.
- Do pole Adresa webového prohlížeče, Typ: "javascript:Výstraha(_spUserId").
- Záznam výsledku (je to v mém případě "13").
- Přidat člen určitý následující javascript do CEWP v zobrazení kódu:
<skript typ ="text/javascript"
src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</skript>
<skript typ ="text/javascript">
$(funkce() {
Výstraha(_spUserId);
var theSecuredView = $(' iframe[FilterLink * = zabezpečené % 20View]');
Pokud ((theSecuredView.length > 0) && (_spUserId == 13))
$(' iframe[FilterLink * = zabezpečené % 20View]').Nadřazený().Nadřazený().Nadřazený().HTML("<TR bgcolor = červená><TD>Žádný výhled pro vás!</TD></TR>");
});
</skript>
|
Uvedl jsem oznámení(_spUserId) linka tam prokázat, jak to není opravdu na "zajištění" pohled, ale prostě dělat to více obtížný vidět. Více o tom v okamžiku.
V podstatě, jQuery hledá iFrame na stránce, který má atribut, který obsahuje "Secured % 20View" v jeho hodnotu. Jakmile zjistí, že, Musíme zkontrolovat a zjistit, zda je aktuální uživatel "13". Je-li, Projdeme se DOM k <TR> Značka (což jsem přišel do zobrazení zdroj a trasování to) a že značka TR nahrazení zprávy. Opravdu nevím, jak robustní je (Já jsem velice podezřelé, Vlastně), ale funguje to v mém pískovišti. Pokud najdu lepší způsob, jak, Budu o tom blogu. To je výsledek:
Klepnutí na tlačítko OK a data se nahrazuje s velkým červeným poselstvím:
Jak můžete říct, Jak mám provést toto řešení "bezpečnost" je umožnit webové části pro vykreslení sama. Po dokončení, Přepsat jeho obsah se mi "žádný výhled pro vás!"zpráva.
Navzdory tomu, že to není opravdu na "zabezpečené '" pohled, To je potenciálně užitečným a někteří dříči, To může být nakonec zabezpečený v jistém smyslu více formální. Základní otázkou je, že klient je získání všech dat a pak, až poté, co získá data, to zničí. Je-li klient dostává data, chytrý uživatel může zabránit spuštění vůbec jQuery a vidět, co chce vidět.
Existují jiné nevýhody. Tento přístup "bezpečnost" je založená _spUserId. Rádi bychom si opravdu bezpečné založené na plné modelu zabezpečení služby SharePoint, nebo alespoň podle uživatelského jména. To se stává postupně těžší, ale vidím, že některé dobré věci, napsal na toto téma, Tak já doufám, že je dobrá odpověď na tento problém.
Seznam pohledů, sami by měly být zbaveny, Pokud je to možné. Jsem se snažil na to přijít. Předpokládám, že je to možné, ale neřeší opravdu zásadní bezpečnostní problém, protože někdo stále jen zadat URL zobrazení, co chtějí (Kdyby věděli, že to). Avšak, oříznutí má smysl. To je dobré použitelnosti funkcí a umožňuje zamlžovat věci. Je-li koncový uživatel neví, že existuje zobrazit událost, pravděpodobně nebudete snažit ji použít. Někdy, To je dost dobrá.
S trochou štěstí, Budu mít více psát na toto téma v průběhu času.
</Konec>
Přihlásit se na mém blogu.
Za mnou na Twitter na http://www.twitter.com/pagalvin