PDA

View Full Version : [c#] Problema System.Security.SecurityException


andrea85berna
21-06-2010, 09:32
Ciao a tutti,
ho un applicazione che risiede in una cartella condivisa in un server:se lanciata da server funziona, se invece provo a lanciarla da client mi genera questa eccezione:

System.Security.SecurityException
Message: Request failed.
AppName: viewreport.exe AppVer: 1.0.0.0 AppStamp:4c1b39d2
ModName: kernel32.dll ModVer: 5.1.2600.3541 ModStamp:49c4f751
fDebug: 0 Offset: 00012a6b

Qualcuno ha qualche idea su come risolverla?

tomminno
21-06-2010, 10:20
Ciao a tutti,
ho un applicazione che risiede in una cartella condivisa in un server:se lanciata da server funziona, se invece provo a lanciarla da client mi genera questa eccezione:

System.Security.SecurityException
Message: Request failed.
AppName: viewreport.exe AppVer: 1.0.0.0 AppStamp:4c1b39d2
ModName: kernel32.dll ModVer: 5.1.2600.3541 ModStamp:49c4f751
fDebug: 0 Offset: 00012a6b

Qualcuno ha qualche idea su come risolverla?

Il .NET limita i permessi per un assembly remoto (i permessi associati sono quelli di "Local Intranet").
Che io sappia l'unico modo è andare a configurare il .NET sulla macchina client per concedere i permessi di cui l'applicativo ha bisogno.
Ovviamente l'operazione deve essere ripetuta per ogni client.

andrea85berna
21-06-2010, 10:31
(Per precisare non è un applicazione web è un normalissimo exe!)
Come posso settare questa configurazione in ogni client?
Ti ringrazio :)

tomminno
21-06-2010, 10:54
(Per precisare non è un applicazione web è un normalissimo exe!)
Come posso settare questa configurazione in ogni client?
Ti ringrazio :)

Si era chiaro che fosse un exe, altrimenti non avresti avuto problemi ;)
Devi prima conoscere cosa fa il programma e di quali permessi ha bisogno.
L'ideale sarebbe tarare i permessi sull'eseguibile.

Una spiegazione è disponibile qui: http://support.microsoft.com/?scid=kb%3Ben-us%3B320268&x=16&y=10
In questa guida (anche se parlano di ASP.NET il principio è lo stesso) assegnano il Full trust a tutti gli assembly presenti sul path remoto. Un pò tagliato con l'accetta ma dovrebbe risolvere i tuoi problemi.