229 messaggi dal 20 novembre 2014
Ciao a tutti,
mi sono imbattuto in un altro problema, sicuramente qualcuno di voi si è già trovato ad affrontarlo.
Allora genero un file pdf di una view con la libreria Rotativa, il problema è che generalmente l'ho sempre scaricato od inviato per email, questa volta voglio direttamente inviarlo su una cartella di rete, ma quando provo a scrivere mi dice che non ho il permesso, ma non è vero perchè i permessi sono completi per gli utenti di dominio, questo è il codice incriminato:

var pdf = new ViewAsPdf2("VePDFLessI", vpdf);
            var pdfByteArray = pdf.GetByte(ControllerContext);
            var entita = vpdf.ID + "-" + vpdf.Nacc;
            string fullPath = @"\\192.168.0.210\TestNet\" + entita;
            if (!Directory.Exists(fullPath))
                Directory.CreateDirectory(fullPath);
            var uniname = "Verb" + vpdf.ID;
            string savedFileName = Path.Combine((@"\\192.168.0.210\TestNet\" + entita), Path.GetFileName(uniname));

            System.IO.File.WriteAllBytes(fullPath, pdfByteArray);



Qualcuno sa dirmi dove sto toppando? mi sta facendo ammattire
Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
la tua applicazione va in esecuzione con un certo utente di Windows (o di IIS), che non è detto che sia quello dell'utente che si sta collegando.

Quindi, quando provi ad accedere alla cartella di rete, lo stai facendo con un certo utente di Windows che non ha i privilegi di accesso. Trovi l'argomento in questa pagina della documentazione.
https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities

Spiegato il problema, vediamo come risolverlo.
Con ASP.NET hai la possibilità di impersonare l'utente Windows che sta effettuando la richiesta HTTP e perciò fare in modo che venga elaborata con i privilegi di cui dispone.
Leggi qui a proposito dell'impersonificazione.
https://msdn.microsoft.com/en-us/library/xh507fc5.aspx

ciao,
Moreno

Enjoy learning and just keep making
229 messaggi dal 20 novembre 2014
Grazie mille Moreno,
come sempre sei stato utilissimo, domani faccio una prova :)
Ciao
229 messaggi dal 20 novembre 2014
Ciao Moreno,
niente ho provato ad inserire nel webconfig

<identity impersonate="true"/>


ma appena tento di avviare l'applicazione se ne va in errore

Errore HTTP 500.24 - Internal Server Error
È stata rilevata un'impostazione di ASP.NET che non si applica in modalità pipeline gestita integrata.


uso l'autenticazione di dominio
Hai idea di come possa risolvere?
Grazie
229 messaggi dal 20 novembre 2014
Allora ho risolto quell'errore seguendo la soluzione proposta qui

https://stackoverflow.com/questions/13804636/iis-complaining-about-identity-impersonation-using-ldap-authentication

ma il problema persiste, continua a darmi accesso negato :|

La cosa strana è che la cartella viene creata da

if (!Directory.Exists(fullPath))
                Directory.CreateDirectory(fullPath);


ma al momento di scrivere il file con la riga

System.IO.File.WriteAllBytes(fullPath, pdfByteArray);


va in errore dando accesso negato! ma perchè? :|
Modificato da clr4633 il 26 giugno 2017 11.25 -
229 messaggi dal 20 novembre 2014
Perfetto ho risolto,
il problema era che non davo l'estensione al file!
Grazie mille
Ciao
11.886 messaggi dal 09 febbraio 2002
Contributi
Ok, ottimo.
Leggi comunque tutte le considerazioni di questa discussione.
https://stackoverflow.com/questions/12966286/impersonate-domain-user-with-integrated-pipeline
Ciao,
Moreno

Enjoy learning and just keep making
229 messaggi dal 20 novembre 2014
Niente, risolto anche questo, ho appena fatto la prova, non ho bisogno di impersonarmi con l'autenticazione LDAP scrive perfettamente il problema è sempre stata quella maledetta estensione del file (del resto ho sempre fatto l'upload tranquillamente solo che mi ha ingannato questo nuovo modo di procedere perchè prima prendevo la request da http).
Grazie mille sempre per il tuo prezioso supporto Moreno
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.