[C#] SecurityException bij XML'etje inladen

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb een doodnormaal C# winforms appje gemaakt, die een doodnormaal bestandje moet openen. Maar dan krijg je dus een SecurityException:
System.Security.SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
Op het betreffende bestand staat gewoon Everyone op Full Control. Het maakt sowieso niet uit wáár het bestand staat. Het kan op een netwerk staan, of op het bureaublad, of waar dan ook. Plaats van het bestand is dus niet relevant.

Maar waarom dan die exception :?

Enne, waarom krijg ik als developer niet die exception en een gewone user wel :?

[ Voor 4% gewijzigd door _Thanatos_ op 31-03-2005 16:52 ]

日本!🎌


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:09

gorgi_19

Kruimeltjes zijn weer op :9

Omdat je als developer waarschijnlijk admin bent en een user is een limited account. Ik 'gok' dat je niet genoeg permissions hebt, zie ook http://www.bluevisionsoft...x?Name=PermissionRequests

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 09-05 01:02
Tot welke groep behoort die user ?
Heeft die user voldoende permissies om bestanden te lezen ?

Vanwaar start je die applicatie ? Als je die app start vanaf een netwerk-share, dan loopt die applicatie met beperkte security-settings, en heeft ze (met de default instellingen) geen FileIOPermission.

(Dit kan je omzeilen door een Assert ofzo te doen (FileIOPermission.Assert ( ... ) )

https://fgheysels.github.io/


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Op het betreffende bestand staat gewoon Everyone op Full Control.
Dus aan admin of limited user zijn, ligt het toch niet :?

En hoe kun je die "security" dan precies omzeilen?

日本!🎌


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Nogmaals: wordt de applicatie gestart vanaf een netwerkshare? Als dat zo is worden namelijk de rechten verminderd omdat de assembly niet getrust wordt. Ook al staat er dan voor everyone full control, dat is niet altijd voldoende.

Oplossing kan zijn om de netwerhshare toe te voegen aan de trusted sites in de opties van Internet Explorer, als het goed is.

[ Voor 3% gewijzigd door OZ-Gump op 01-04-2005 09:00 ]

My personal website


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Ik hoopte eigenlijk dat er een geautomatiseerde manier was om de security aan te passen. Maargoed, niet dus. Ik snap alleen niet waarom het uitmaakt waarvandaan je een app opstart. Bij win32 apps wordt er ook niet moeilijk gedaan, terwijl die in potentie juist veel gevaarlijker kunnen zijn (ik noem ff het installeren van een driver die het kernelgeheugen vernaggelt :)).

Maar, ik heb al een betere oplossing. Je kunt wel bestanden openen met een prog die vanaf een share (gemapte share of UNC-pad, zelfs dat maakt niet uit) gestart wordt, maar alleen met een OpenFileDialog. En dan moet je dus OpenFile() van dat dialog gebruiken om de geselecteerde file(s) te openen. Ik kan dan geen XmlDocument.Load() gebruiken, maar met een XmlTextReader werkt het dan ook wel. Good enough dus.

Toch vreemd hoor, die securty van MS...

日本!🎌

Pagina: 1