Přeskoč navigaci

Ladění Medium Trust ASP.NET aplikací lokálně

Jelikož hodně ISP používá pro ASP.NET úroveň zabezpečení Medium Trust je dobré vědět, jak na toto nastavení lokálně.

Pokud vám stačí jen čisté Médium Trust, tak v souboru c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config změňte v uzlu trust atribut level na požadované.

<system.web>
  <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low"  policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config" />
  </securityPolicy>
      <trust level="Medium" originUrl="" />
</system.web>

Sranda začíná pokud chcete toto nastavení rozšířit. V tom případě je lepší než rozšiřovat standardní úrovně založit novou. Jako základ použijeme některý ze souborů, pro medium trust web_mediumtrust.config a uložíme pod zvoleným jménem, a rozšíříme o něj uvedený seznam.

Nyní musíme zeditovat nově vytvořený soubor. Nejčastější operací je přístup k adresáři mimo prostor.

Do sekce NamedPermissionSets přidáme např. něco takového:

<IPermission
    class="FileIOPermission"
    version="1"
    Read="$AppDir$/../data;$AppDir$"
    Write="$AppDir$/../data;$AppDir$"
    Append="$AppDir$/../data;$AppDir$"
    PathDiscovery="$AppDir$/../data;$AppDir$"
/>

To umožní zápis do adresáře data na stejné úrovni jako je aplikace.

Druhou častou věcí je např. povolení OleDb:

Do sekce SecurityClasses se přidá

    <SecurityClass Name="OleDbPermission" 
Description="System.Data.OleDb.OleDbPermission, 
System.Data, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089"/>

a do výše uvedené sekce NamedPermissionSets pak můžeme přidat

  <IPermission class="OleDbPermission"
    version="1"
    Unrestricted="true"/>

Obdobně postupujeme i v jiných případech.

Co je zakázáno v medium trust?

  • OleDbPermission (ale ne SqlClientPermission)
  • EventLogPermission
  • ReflectionPermission (nelze používat reflection)
  • RegistryPermission (nelze používat registry)
  • WebPermission je omezené, to znamená, že aplikace může komunikovat pouze v definovaném rozsahu adres (element <trust>)
  • FileIOPermission je omezené, povolen pouze přístup k souborům uvnitř virtual directory
Jaggni to|Linkuj

Komentáře k tomuto článku



Prosím o dodržovaní určitých pravidel (tj. žádné neslušné texty, reklamy a tak prostě podobně). Komentáře porušující tyto pravidla budou odstraněny.

Před vložením komentáře je nutno provést náhled, jedná se o ochranu proti spamu.

 

Vložení komentáře
  
 
 

 

© NetCode.cz, 2006-9 | Všechna práva vyhrazena
Provozováno na mém pikoCMS, vygenerováno: 27.7.2017 4:39:38

O mně

Informace o mé maličkosti a kontakt.

Lokální tagy

amd(1) amiga(1) apple(1) aspnet(2) audio(1) borland(5) C64(1) codegear(12) delphi(39) dotnet(9) dvd(1) electone(1) embarcadero(1) emulator(11) firebird(2) flash(1) freepascal(5) gamecube(3) gigabyte(2) google(3) hardware(48) holografie(1) homebrew(29) hry(12) ibm(14) iphone(7) jidlo(1) komponenty(1) konzole(15) latex(1) lenovo(17) migrace(1) modchip(3) moje(9) mplayer(3) mssql(1) multi-touch(3) native-api(1) navody(23) nintendo(53) Nintendo3DS(2) nintendo64(6) NintendoDS(15) onestation(2) opera(1) ot(1) palm(1) pascal(1) pdf(1) pic(2) pmd85(1) pocitace(1) print-server(2) programovani(21) programy(25) R400(1) recenze(6) retro(1) satelit(1) seamonkey(5) snes(3) svepomoci(1) technika(1) thinkpad(20) usb(1) video(3) vs(3) vykriky(12) web(7) webdesign(8) wii(83) wiimote(13) wiiware(1) wiki(2) windows(7) windows-mobile(1) wl500g(2) wtf(8) zivot(1) ZX-Spectrum(5)