Services e Gui con ChannelServices

sabato 27 febbraio 2010 - 18.55

civieroalessandro Profilo | Newbie

Ciao a tutti,
ho creato un servizio in c# pubblicando una classe:
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ClassMain),"ClassMain", WellKnownObjectMode.Singleton);

Poi una form
ClassMain remObject = (ClassMain)Activator.GetObject(typeof(ClassMain),"tcp://localhost:8085/ClassMain");

class ClassMain {
...
public void Scrivi()
{ "comando che scrive un file in c:\windwos\... " }
....

funziona tutto e riesco ad utilizzare la classe remota.
La mia esigenza è di far eseguire al "servizio" (che viene eseguito come "administrator" ) la procedura Scrivi() che richiede i diritti di administrator, ma quando la richiamo remObject.Scrivi() mi da "accesso negato".

I comandi eseguiti tramite remObject utilizzano l'utente del servizio o l'utente dell'applicazione?

grazie
Alessandro

tonyexpo Profilo | Senior Member

ciao


l'oggetto remoto ha i diritti in base a come è stato impostato: se è su iis in un file .rem allora ha i diritti dell'application pool a lui collegato, altrimenti se è in un exe ha i diritti di chi esegue l'exe, mentre se è in un windowsservice ha i diritti in base a come impostato nella maschera servizi di windows

l'oggetto remoto non usa mai le credenziali di chi lo sta utilizzando da remoto

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

civieroalessandro Profilo | Newbie

ciao,
è quello che pensavo anch'io ma ho provato a creare questo servizio di windows (.exe) che ogni minuto lancia la procedura Scrivi()
e funziona tutto ( la procedura va a scrivere un file in c:\windows\... )
se invece la richiamo da una applicazione che si interfaccia con il servizio tramite RemotingConfiguration mi restituisce accesso negato.

Sicuramente mi sto dimenticando qualcosa ma sinceramente non capisco cosa.
PS: Il servizio di windows gira come Administrator del pc locale.
grazie
Alessandro
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5