Errore server nell'applicazione

mercoledì 03 maggio 2006 - 10.38

Pongo Profilo | Senior Member

Sto provando a mettere il mio web app sul server. Ho importato il db sul server, ho dato il totale accesso ad un nuovo utente del dominio al db, poi ho cambiato la stringa di connessione del web app e ho combiato il web config mettendo questo nuovo utente nell'impersonate, sostituendo quello di prima.

L'errore che mi da è il seguente:

Errore server nell'applicazione '/CRM_Beta'.
--------------------------------------------------------------------------------

Accesso al percorso "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\crm_beta\459b4db0\537b5047\hash.web" negato.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.UnauthorizedAccessException: Accesso al percorso "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\crm_beta\459b4db0\537b5047\hash.web" negato.

ASP.NET non è autorizzato ad accedere alla risorsa richiesta. Provare a concedere diritti di accesso alla risorsa all'identità di richiesta di ASP.NET. ASP.NET dispone di un'entità di processo di base (in genere {MACHINE}\ASPNET su IIS 5 o Network Service su IIS 6) che viene utilizzata se l'applicazione non esegue la rappresentazione. se l'applicazione esegue la rappresentazione tramite <identity impersonate="true"/>, l'identità sarà rappresentata dall'utente anonimo (in genere IUSR_MACHINENAME) o dall'utente autenticato che ha eseguito la richiesta.

Per concedere l'accesso in scrittura ad ASP.NET a un file, fare clic su di esso con il pulsante destro del mouse in Esplora risorse, scegliere Proprietà e fare clic sulla scheda Protezione. Fare clic su Aggiungi per aggiungere l'utente o il gruppo appropriato. Evidenziare l'account ASP.NET e selezionare la casella relativa all'accesso desiderato.

Errore nel codice sorgente:

Durante l'esecuzione della richiesta Web corrente è stata generata un'eccezione non gestita. Per informazioni sull'origine e la posizione dell'eccezione, vedere l'analisi dello stack dell'eccezione riportata di seguito.


___________________________________________________________________

Ho provato a dare la condivisione anche in scrittura della cartella incriminata.

Pongo Profilo | Senior Member

Scusa ma non so che sia il deploy!

La mia applicazione è sul mio pc in inetpub\wwwroot\etc etc .

Stavo provando a connettermi ad un server remoto con il db per vedere eventuali problemi.

Non so se quato problema di penda dal fatto che il db è da una parte e il web app da un'altra.

Può essere? Nel server non c'è la cartella indicata nell'errore, questa è presente nel mio pc.

Grazie! ^_^

Pongo Profilo | Senior Member

Il data base e sql server 2000.

Abbiamo creato un utente crmuser da usare espressamente per l'applicativo.

E settato impersonate=true nel web config con user e pwd di quell'utente.

Nel database di sql ho creato l'utente mappato su crm e ho dato ogni autorizzazione possibile.

Ho cambiato la stringa di connessione indirizzando il tutto a qual DB.

(Ho notato che lasciando il vecchio impersonate, cioè il mio (Pongo) riesco ad accedere al DB anche non avendone i diritti. Ciò mi sembra strano)

Pongo Profilo | Senior Member

si ma nel mio pc, quando non usavo l'impersonate non riuscivo ad accedere la db.

Poi dando accesso all'utente "Pongo" al db e usavo l'impersonate con "Pongo" riuscivo senza problemi.

Impersonate non serve a quello?

Io avevo capito che usando l'impersonate l'utente diventava quello scritto e non più aspnet, che sarebbe quello di default.

Come posso fare per risolvere il mio problema?

Particamente voglio fare così: parte il web app e prende l'identità di crmuser.

crmuser può accedere al database e fare tutto quello che vuole.

Provando a togliere impersonate non riesco ad accedere al DB.
Nella stringa di connesione non sono indicati user e password, venivano presi dall'impersonate.

Pongo Profilo | Senior Member

Questo è nel web config

<identity impersonate ="true"
userName="Dominio\crmuser"
password="xxxx"
/>

La stringa di connessione è questa:

workstation id=PCPONGO;packet size=4096;integrated security=SSPI;data source=SYS02;persist security info=False;initial catalog=DB_IP_Mosaic

Però quando metto quell'impersonate da sempre il solito errore. Cancello quei file temporanei?

PS: in sql server vorrei usare solo l'autenticazione di Windows.
PSS: Ho risolto, dando tutti i privilegi al mio crmuser sulla cartella incriminata.
Non so se sia esatto fare cos' quindi lasci la discussione aperta per eventuali correzione.

Intanto grazie! ^_^

Pongo Profilo | Senior Member

Ecco un altro errore: il web appa funziona interamente con richieste al db.

Ad un certo punto quando prova a fare un update da un datagrid mi dice che il login del mio utente specificato nel we impersonate non è valido.

Il prblema che l'utente ha diritto di vita e di morte sull'intero DB remoto e se sono arrivato fino a quella pagina il login è stato di sicuro accettatto per altre richieste.

Perchè?

Nell'errore che mi viene restuituito mi viene detto che non si riesce ad accedere ad una cartella vswebcache presente sul pc in cui è stato sviluppato il web app.

Come faccio a cambiare?

Pongo Profilo | Senior Member

Thanks. Non ci avevo pensato!

Domani provo!


Intanto grazie per la pazienza! ^_^

Pongo Profilo | Senior Member


Dovrei aver risolto tutto! Grazie mille! ^_^
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5