Silverlight 5, setarea permisiunilor

Aplicațiile cu încredere sporită sunt un tip special de aplicații care rulează în afara browserului. De obicei, diferă prin faptul că au un set impresionant de privilegii suplimentare. Aceste privilegii nu se potrivesc cu permisiunile aplicațiilor desktop tradiționale, dar fac posibilă o serie de acțiuni potențial periculoase, de exemplu, activarea programelor terță parte și accesul direct la sistemul de fișiere.







Din acest motiv, se recomandă utilizarea aplicațiilor de încredere numai într-un mediu bine controlat, cum ar fi o rețea corporatistă în care utilizatorii sunt conștienți de aplicațiile lor și au încredere în dezvoltatori.

În multe cazuri, utilizatorii sunt foarte reticenți în a oferi privilegii suplimentare necesare aplicațiilor de încredere. Uneori în general refuză să le instaleze. În plus, administratorul de sistem poate configura calculatoarele astfel încât să împiedice instalarea sau executarea de aplicații în afara browserului care necesită o încredere sporită.

Înainte de a începe să dezvoltați o aplicație Silverlight cu o încredere sporită, analizați dacă o aplicație desktop WPF cu funcții complete este potrivită pentru această sarcină. Platforma WPF acceptă pe deplin .NET Framework. Ca și în Silverlight, aplicațiile WPF pot fi instalate de pe Internet, dar, spre deosebire de Silverlight, aplicațiile WPF funcționează numai în aplicațiile Windows.

Instalarea unei aplicații cu încredere sporită

Pentru a specifica faptul că aplicația ar trebui să necesite o încredere sporită, deschideți fereastra Out-of-Browser Settings și bifați caseta de validare Required elevated trust:

Silverlight 5, setarea permisiunilor

Pentru a începe procesul de instalare, deschideți meniul contextual al Silverlight sau apelați metoda Application.Install (). O fereastră cu un mesaj de securitate apare pe ecran. Faceți clic pe butonul Instalare.

Puteți semna aplicația cu un certificat digital X.509. Apoi, în fereastra sistemului de securitate avertismentul va fi mai puțin amenințător, semnul exclamării va fi înlocuit cu o interrogare și numele editorului va fi afișat.

Caracteristici ale aplicațiilor cu încredere sporită

Ce poate face o aplicație cu o încredere sporită, astfel încât aplicația normală Silverlight să nu poată? Să aruncăm o privire mai atentă:

Suport nelimitat pentru modul ecran complet. Când comutați o aplicație cu încredere sporită în modul ecran complet, notificarea "Apăsați Esc pentru a ieși din modul ecran complet" nu apare. apăsare de tastă nu duce la ieșirea din modul ecran complet. Dar cel mai important lucru este că aplicația în modul ecran complet continuă să accepte intrările de la tastatură.

Nu există restricții privind accesul pe mai multe domenii. O aplicație de încredere este autorizată să descarce conținut de pe orice site web, să invocă servicii web pe orice site, să deschidă conexiuni socket la orice server, adică efectuați toate operațiunile disponibile pentru aplicațiile desktop.

Mai puține operațiuni care necesită permisiunea utilizatorului. Există multe situații în care aplicarea Silverlight convențională este forțat să ceară permisiunea de utilizator, de exemplu, pentru accesul la clipboard, salvați fișierul în depozit izolat, de configurare, modul ecran complet la pierderea de focalizare, etc.

Personalizați fereastra. Dacă nu vă place cadrul standard si controalele fereastra furnizate de sistemul de operare, scoateți-le din aplicarea de încredere a crescut și să tragă propriile lor cu elemente standard de Silverlight.







Ferestre pentru copii. O aplicație cu încredere crescută poate crea oricând ferestre pentru copii.

Interacțiune inter-sarcină cu componente COM. Într-o aplicație extrem de sigura, puteți utiliza bibliotecile de funcții oferite de sistemul de operare Windows prin COM. De exemplu, puteți interacționa cu aplicațiile Outlook și Office, precum și cu componente încorporate în Windows, cum ar fi Script Host și WMI.

P / invoca apelurile. Aplicația de încredere poate executa codurile de sistem DLL pe computerele Windows și poate accesa funcțiile API Windows prin intermediul apelurilor pe platformă P / Invoke.

Înainte de a utiliza oricare dintre aceste instrumente, nu uitați să setați proprietatea Application.HasElevatedPermissions la true. În caz contrar, aplicația va funcționa în modul obișnuit de încredere scăzută.

Personalizați fereastra

O aplicație tipică care rulează în afara browserului afișează cadrul standard al ferestrei furnizat de sistemul de operare. Are butoane bine cunoscute pentru minimizarea, maximizarea și închiderea ferestrei. cadre de culoare, stil, umbrire și transparență sunt controlate de sistemul de operare. Acest model este potrivit pentru majoritatea cazurilor, cu toate acestea, dacă doriți ca aplicația să arate profesional și elegant, puteți personaliza aspectul de rama ferestrei, și dotarea cu butoane create manual.

Cadrul ferestrei este configurat în două etape. Primul este eliminarea completă a cadrului standard. Pentru a face acest lucru, în Solution Explorer, faceți dublu clic pe nodul Properties. Faceți clic pe fila Silverlight, apoi pe butonul Out-of-Browser Settings. Selectați unul dintre elementele din lista Stil de ferestre.

Dacă selectați Implicit, va fi afișat cadrul standard al ferestrei. Dacă selectați a doua valoare, Fără frontiere, va fi eliminat cadrul standard al ferestrei și va rămâne un dreptunghi plutitor standard cu conținutul comenzii utilizatorului. Cu valoarea colțurilor rotunde fără chenar, cadrul standard al ferestrei va fi șters și colțurile ferestrei aplicației vor fi rotunjite. Diferența dintre cea de-a doua și cea de-a treia opțiune este pur "cosmetică", în oricare dintre aceste cazuri se elimină cadrul standard al ferestrei. Figura de mai jos arată un exemplu:

Silverlight 5, setarea permisiunilor

A doua etapă a setării cadrului ferestrei este desenarea noului cadru și adăugarea comenzilor de bază pentru închidere, redimensionare, modificarea stării și tragerea ferestrei. Pentru a asigura o platformă multiplă, Silverlight nu permite programatorului să modifice cadrul standard al ferestrei sistemului de operare. Ar trebui să deseneze cadrul propriu-zis al ferestrei folosind desene potrivite sau comenzi Silverlight.

De exemplu, puteți plasa conținutul principal într-un container Grid cu o singură celulă și să suprapuneți un alt element Silverlight (dreptunghi sau imagine) pe acesta. De asemenea, puteți împacheta controlul de utilizator rădăcină în shell-ul de frontieră după cum urmează:

În acest exemplu, setările proiectului sunt setate la colțuri rotunde fără chenar. Câmpul extern (Marja) Lățimea 1 pixel la dreapta și de jos asigură un cadru de ieșire la poziția corectă. Înțeles CornerRadius, egal cu 2, unghiul se aliniază cu zona ferestrei:

Silverlight 5, setarea permisiunilor

Platforma Silverlight nu acceptă crearea unei forme arbitrare ca cadru de fereastră. Prin urmare, ca cadru care definește fereastra principală, puteți aplica doar un dreptunghi sau un dreptunghi rotunjit. Cel mai important lucru este că Silverlight vă oferă acest dreptunghi și trebuie doar să îl umpleți cu conținutul. În plus, în Silverlight, nu puteți crea o zonă transparentă sau parțial transparentă care să vă permită să vedeți conținutul ecranului prin fereastra aplicației.

Desigur, adăugarea unui cadru Border îmbunătățește aspectul ferestrei, dar rămâne o problemă importantă. Fără un cadru furnizat de sistemul de operare, utilizatorul nu poate redimensiona, muta, restrânge, extinde sau închide fereastra. Dacă doriți ca utilizatorul să poată efectua aceste operații, trebuie să le programați în codul pentru setarea ferestrei principale. Din fericire, instrumentele integrate în clasa Window fac mult mai ușor această sarcină.

Primul pas este crearea unei bare de titlu pentru ferestre. Bara de titlu joacă trei roluri: titlul conține textul servește ca un loc, agățându la care utilizatorul poate trage o fereastră, și, în cele din urmă, conține un butonul de minimizare, implementare și închide fereastra. În exemplul de mai jos, marcajul creează bara de titlu. Cifre butoane de coagulare, de implementare și elemente de închidere sunt desenate folosind dreptunghi și Calea.

Al doilea pas este să adăugați o modalitate de redimensionare a ferestrei trăgând marginile acesteia. Este mai ușor să o implementați prin închiderea întregii ferestre în cochila containerului Grid, care utilizează un element invizibil Rectangle. Veți avea nevoie de opt elemente Rectangle: câte una pentru fiecare parte și una pentru fiecare colț:

Silverlight 5, setarea permisiunilor

Mai jos este marcajul și codul ferestrei, cu adăugarea acestor instrumente:







Articole similare

Trimiteți-le prietenilor: