none
salvare un file in una cartella che non è della stessa applicazione RRS feed

  • Domanda

  • ciao a tutti.

    vi espongo il mio problema.

    Ho un applicazione asp.net che chiama un metodo di un servizio wcf presente in un'altro progetto.

    questo metodo riceve in ingresso un percorso di rete es: "\\server\dati\doc\prova.doc" e converte il doc in pdf e restituisce il percorso in pdf: "Temp/prova.pdf"

    Ho creato una cartella Temp nel progetto asp.net e in locale mi scrive tranquillamente.

    ho caricato sul server di prova con iis 6 i 2 progetti ma naturalmente il servizio non riesce a scrivere nella crtella temp che è all'interno di un'altro progetto(cartella virtuale).

    c'è un modo per scrivere su una cartella non dello stesso progetto?

    grazie

     

    mercoledì 1 settembre 2010 13:05

Risposte

  • Come ti ha detto congiuluc, è un problema di permessi.
    Quello che potresti fare è impersonare un utente che abbia i permessi
    di lettura e scrittura in quelle cartelle.
    Spesso capitiamo in questi problema, e tempo fa avevo trovato due
    articoli utili:
     
    Ti consiglio di prestare molta attenzione al codice che esegui
    impersonando un utente che ha privilegi più elevati in quanto un
    eventuale errore nella tua applicazione potrebbe facilitare
    l'esecuzione di codice che potrebbe danneggiare/compromettere il
    server.
    Quindi, solitamente consiglio di non fare impersonare in tutta
    l'applicazione (tramite web.config o da IIS), ma besì usa l'impersonate
    da codice, in modo da poterlo applicare solo per i metodi che lo
    necessitano.
    Altra cosa, all'utente che impersonerai assegna i permessi minimi
    necessari, e riferiti alle sole cartelle che ti possono servire.
     
    ciao
     

    Andrea Dottor
    Microsoft MVP - ASP/ASP.NET
    mercoledì 1 settembre 2010 13:48
    Moderatore
  • E' un problema di sicurezza dell'Utente ASP.NET dovresti crearti un un utente che abbia permessi di lettura e scrittura nelle directory da te indicate e poi impostare l'impersonate di tale utente nel web.config.

    Ciao


    LCO (congiuluc)
    mercoledì 1 settembre 2010 13:37
    Moderatore

Tutte le risposte

  • E' un problema di sicurezza dell'Utente ASP.NET dovresti crearti un un utente che abbia permessi di lettura e scrittura nelle directory da te indicate e poi impostare l'impersonate di tale utente nel web.config.

    Ciao


    LCO (congiuluc)
    mercoledì 1 settembre 2010 13:37
    Moderatore
  • mi puoi spiegare come impostare l'impersonale nel web.config?

    grazie

    mercoledì 1 settembre 2010 13:40
  • Come ti ha detto congiuluc, è un problema di permessi.
    Quello che potresti fare è impersonare un utente che abbia i permessi
    di lettura e scrittura in quelle cartelle.
    Spesso capitiamo in questi problema, e tempo fa avevo trovato due
    articoli utili:
     
    Ti consiglio di prestare molta attenzione al codice che esegui
    impersonando un utente che ha privilegi più elevati in quanto un
    eventuale errore nella tua applicazione potrebbe facilitare
    l'esecuzione di codice che potrebbe danneggiare/compromettere il
    server.
    Quindi, solitamente consiglio di non fare impersonare in tutta
    l'applicazione (tramite web.config o da IIS), ma besì usa l'impersonate
    da codice, in modo da poterlo applicare solo per i metodi che lo
    necessitano.
    Altra cosa, all'utente che impersonerai assegna i permessi minimi
    necessari, e riferiti alle sole cartelle che ti possono servire.
     
    ciao
     

    Andrea Dottor
    Microsoft MVP - ASP/ASP.NET
    mercoledì 1 settembre 2010 13:48
    Moderatore