Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Web Services, XML
Problema: Un Web Service che lancia un eseguibile
giovedì 13 marzo 2008 - 17.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Nenzi
Profilo
| Newbie
2
messaggi | Data Invio:
gio 13 mar 2008 - 17:42
Salve, per la prima volta dopo anni di lettura ho pensato di scrivervi perchè ho un problema che proprio non riesco a risolvere. Mi rendo anche conto che leggere il testo sottostante è una bella rottura di scatole
...ma volevo fornire informazioni dettagliate:
Ho creato un Web Service e un AppPool con l'identity che punta ad un account admin locale (che fa anche parte del gruppo IIS_WPG) che chiamerò 'serviceaccount' .
Questo perchè il WS lancia psexec.exe (di Sysinternals) che a sua volta manda in esecuzione un agent su delle macchine remote; io poi ne trappo lo stream di output per avere il dato finale.Ho quindi bisogno dei permessi di esecuzione per l'eseguibile di Sysinternals.
Tutto funziona a meraviglia, tranne per un piccolo dettaglio: Il Web Service funziona solo se ci si logga (anche con i TermServ) sulla macchina che hosta il WS con l'utenza 'serviceaccount' , altrimenti il WS rimane appeso all'infinito. Basta solo fare la login e magicamente il WS comincia a funzionare
Fra le varie cose che ho già settato:
1. Il mio application pool è settato di default tranne che per l'identità che è appunto 'serviceaccount';
2. Ho modificato le seguenti policy di sicurezza per 'serviceaccount':
- Replace a Process Level Token (SeAssignPrimaryTokenPrivilege)
- Adjust Memory Quotas for a process (SeIncreaseQuotaPrivilege)
- Generate Security Audits (SeAuditPrivilege)
- Bypass Traverse Checking (SeChangeNotifyPrivilege)
- Access this computer from a network (SeNetworkLogonRight)
- Logon as a Batch Job (SeBatchLogonRight)
- Logon as a Service (SeInteractiveLogonRight)
- Allow Logon Locally (SeInteractiveLogonRight);
3.Ho settato la dir virtuale che contiene il WS per permettere anche al gruppo IIS_WPG il Full Control;
4. Ho provato psexec specificando le credenziali di accesso per l'utente serviceaccount (che è amministratore su tutte le nostre macchine locale e di dominio), e cmq i vari test fatti a console con psexec sono sempre andati bene.
Insomma sono 4 settimane che leggo in giro ma francamente una cosa così strana (per me) non so proprio come risolverla.
Uso win 2003 server edition sp2
IIS 6.0
Fw 2.0
psexec di sysinternal
Spero di avervi esposto chiaramente il problema, perdonatemi per la mia mancanze nell'uso del gergo. Grazie
us01739
Profilo
| Expert
641
messaggi | Data Invio:
ven 14 mar 2008 - 10:55
Prova ad utilizzare un sistema di "Impersonate" prima di eseguire il codice
Qui trovi qualche indicazione:
http://www.dotnet247.com/247reference/msgs/44/222180.aspx
http://support.microsoft.com/default.aspx/kb/306158/it
Bye Bye
---------------------------------------------------
Roberto Gelmini - MCDBA - MCP
http://www.robertogelmini.com
---------------------------------------------------
Nenzi
Profilo
| Newbie
2
messaggi | Data Invio:
ven 14 mar 2008 - 11:03
Ciao in realtà dovrei già impersonare l'utente serviceaccount utilizzando la sua identity nell'application pool che ho creato apposta per fare girare questo WebService. Infatti nelle varie prove, mi sono anche fatto restituire il nome dell'utente utilizzato dal WebService a video ed è quello giusto (serviceaccount).
Ho già provato 'ad muzzum' ad inserire nel web.config la stringa di impersonate (con e senza credenziali di accesso)...ma l'effetto non cambia.
Ciò che in realtà non riesco a fare e di utilizzare un utente normale come un utente di servizio come ad es. network service...
Torna su
Stanze Forum
Elenco Threads
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 !