2008-08-02 13 views
36

Przesłanie mojej pierwszej przyzwoitej aplikacji internetowej do mojego hosta udostępniło mi nowy zestaw wyzwań, przez co rozumiem nieprzespane noce. Problem polegał na tym, że z całą pewnością nie rozwinąłem mojego podania o średnie zaufanie (lub miałem jakąkolwiek wskazówkę co do tego).Jak pisać na Web.Config w Medium Trust?

Usunąłem wszystkie problemy, z wyjątkiem jednego.

Napisałem instalator dla administratora, aby móc określić jego łańcuch połączeń i inne preferencje, ale nie mogę znaleźć sposobu zapisu na web.config w średnim zaufaniu. Czy ktoś ma rozwiązanie, czy powinienem po prostu umieszczać preferencje w innym pliku?

+0

Jedno rozwiązanie: http://www.4guysfromrolla.com/articles/100307-1.aspx –

Odpowiedz

19

To faktycznie brzmi jak poziom IIS na poziomie Low. Jeśli tak, to nie będziesz mógł pisać do żadnego pliku, a nie tylko do pliku web.config.

Oto poziomy z pliku pomocy IIS:

  • Full (wewnętrzny) - Określa nieograniczone uprawnienia. Udziela uprawnieniom aplikacji ASP.NET dostępu do dowolnego zasobu podlegającego zabezpieczeniom systemu operacyjnego. Wszystkie uprzywilejowane operacje są obsługiwane.
  • High (web_hightrust.config) - Określa wysoki poziom zabezpieczeń dostępu kodu, co oznacza, że ​​aplikacja nie może wykonać dowolną z następujących czynności: domyślnie
    • wywoływać kod niezarządzany.
    • Zadzwoń do obsługiwanych podzespołów.
    • Zapis do dziennika zdarzeń.
    • Dostęp do kolejek usługi kolejkowania wiadomości.
    • Uzyskaj dostęp do źródeł danych ODBC, OleDb lub Oracle.
  • średnie (web_mediumtrust.config) - Określa średni poziom zabezpieczeń dostępu kodu, co oznacza, że ​​oprócz ograniczeń Wysoki Poziom zaufania, aplikacja ASP.NET nie może zrobić jedną z następujących rzeczy domyślnie:
    • Dostęp do plików poza katalogiem aplikacji.
    • Uzyskaj dostęp do rejestru.
    • Nawiązywanie połączeń sieciowych lub usług sieci Web.
  • Low (web_lowtrust.config) - Określa niski poziom zabezpieczeń dostępu kodu, co oznacza, że ​​oprócz ograniczeń Średni Poziom zaufania, aplikacja nie może wykonać jedną z następujących czynności: domyślnie
    • Zapisywanie w systemie plików.
    • Zadzwoń do metody Assert.
  • Minimalny (web_minimaltrust.config) - Określa minimalny poziom zabezpieczeń dostępu do kodu, co oznacza, że ​​aplikacja ma tylko uprawnienia do wykonywania.

Sugerowałbym, że jeśli jesteś nagonce na mającą instalatora, należy go utworzyć web.config w pamięci, że użytkownik może zapisać lokalnie i FTP się potem.

+0

Tak działa w programie Microsoft Web Installer, gdy nie ustawisz uprawnień do zapisu w folderze aplikacji sieci Web. – Sergiu