none
XBAP: SecurityException bei Zugiff auf IsolatedStorage RRS feed

  • Frage

  • Hallo,

    ich habe eine XBAP-Anwendung. Teilweise Vertrauenswürdigkeit bei ClickOnce wurde eingestellt. Wenn ich im IE die Anwendung starte, erhalte ich beim Aufruf von

    IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForAssembly();

    eine SecurityException:

    Fehler bei der Anforderung des Berechtigungstyps "System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

    Stelle ich 'volle Vertrauenswürdigkeit' im ClickOnce ein, funktioniert es. Aber dann könnte man ja auch gleich ne Desktop-Anwendung schreiben.

    Was muß man dafür tun, um den IsolatedStorage benutzen zu können (bei teilweiser Vertrauenswürdigkeit)?

    Gruß
    Heiko


    Sonntag, 17. Mai 2015 16:15

Antworten

  • Hallo Tom,

    danke für den Link. Ob eine SecurityException ausgelöst wird, hängt offenbar davon ab, welche Art von IsolatedStorage geholt wird. Ich habe folgendes ausprobiert:

    IsolatedStorageFile.GetUserStoreForApplication();	// OK
    IsolatedStorageFile.GetUserStoreForAssembly();		// SecurityException
    IsolatedStorageFile.GetUserStoreForDomain();		// OK
    IsolatedStorageFile.GetUserStoreForSite();		// NotsupportedException
    IsolatedStorageFile.GetMachineStoreForApplication();	// SecurityException
    IsolatedStorageFile.GetMachineStoreForAssembly();	// SecurityException
    IsolatedStorageFile.GetMachineStoreForDomain();		// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.Roaming, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.None, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.Application, "My_XBAP_Test");	// SecurityException
    

    Das Problem ist damit gelöst.

    Danke und Gruß
    Heiko

    Montag, 18. Mai 2015 09:59

Alle Antworten

  • Hallo Heiko,

    ich muss zunächst sagen das ich noch nie eine WPF Browseranwendung geschrieben habe. Aber laut dem MSDN Artikel WPF-Sicherheit mit teilweiser Vertrauenswürdigkeit kann man den Isolated Storage mit bis zu 512kB belasten.

    Hältst du dich an diese Grenze und machst du alles so wie in dem verlinkten Beitrag gezeigt?


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 17. Mai 2015 20:53
  • Hallo Tom,

    danke für den Link. Ob eine SecurityException ausgelöst wird, hängt offenbar davon ab, welche Art von IsolatedStorage geholt wird. Ich habe folgendes ausprobiert:

    IsolatedStorageFile.GetUserStoreForApplication();	// OK
    IsolatedStorageFile.GetUserStoreForAssembly();		// SecurityException
    IsolatedStorageFile.GetUserStoreForDomain();		// OK
    IsolatedStorageFile.GetUserStoreForSite();		// NotsupportedException
    IsolatedStorageFile.GetMachineStoreForApplication();	// SecurityException
    IsolatedStorageFile.GetMachineStoreForAssembly();	// SecurityException
    IsolatedStorageFile.GetMachineStoreForDomain();		// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.Roaming, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.None, "My_XBAP_Test");	// SecurityException
    IsolatedStorageFile.GetStore(IsolatedStorageScope.Application, "My_XBAP_Test");	// SecurityException
    

    Das Problem ist damit gelöst.

    Danke und Gruß
    Heiko

    Montag, 18. Mai 2015 09:59