ho un problema di nome utente su una function nel wcf che accede al db sql per cercare i dati e restituire un true / false .
accesso non riuscito al database_name per l'utente IIS APPPOOL\DefaultAppPool
ho il db con accesso con identificazione windows
mentre l'accesso a IIS è Anonimo
Qualche idea???
sono tre giorni che sono fermo a fare tentativi.... (possibile che forse il db deve accedere con utente e password di SQL e non windows? e nella stringa di connessione debba inserire direttamente i parametri di accesso?
grazie
app.configcodice:Public Function accedi(ByVal email As String, ByVal password As String) As Boolean Implements IService1.accedi Dim result As String Dim _recordset As SqlDataAdapter Dim _connessione = New SqlConnection("Data Source=localhost;Initial Catalog=fantaweek;Integrated Security=true") _connessione.Close() _connessione.Open() Dim _datatable As DataTable = New DataTable("utenti") _recordset = New SqlDataAdapter("select * from utenti where email like '" & email & "'", _connessione) _recordset.Fill(_datatable) If _datatable.Rows.Count > 0 Then If _datatable.Rows(0).Item(1).ToString = email And _datatable.Rows(0).Item(2).ToString = password Then result = True ' trovata uguaglianza Else result = False 'non trovata End If _recordset.Dispose() _datatable.Dispose() _connessione.Close() Return result Else result = False Return result End If End Function
codice:<?xml version="1.0" encoding="utf-8" ?><configuration> <!-- Aggiungo autorizzazione di accesso a windows (PROVA DISPERATA) --> <system.web> <authentication mode="Windows"/> <authorization> <allow users="Administrator"/> <allow users="garzone-pc\garzone"/> <allow users="garzone-pc\IUSR"/> <allow users="IIS APPPOOL\DefaultAppPool"/> </authorization> <!-- *************************************************** --> </system.web> <appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> </appSettings> <system.web> <compilation debug="true" /> </system.web> <!-- Quando si distribuisce il progetto della libreria di servizi, è necessario aggiungere il contenuto del file di configurazione al file app.config dell'host. System.Configuration non supporta i file di configurazione delle librerie. --> <system.serviceModel> <services> <service name="ServerFantaWeek.Service1"> <host> <baseAddresses> <!-- QUI localhost predefinito per il funzionamento offline - provo con quello del server <add baseAddress = "http://localhost:8733/Design_Time_Addresses/ServerFantaWeek/Service1/" /> --> <add baseAddress = "http://2.234.151.6/ServerFantaWeek/Service1/" /> </baseAddresses> </host> <!-- Service Endpoints --> <!-- Se non è completamente qualificato, l'indirizzo è relativo all'indirizzo di base fornito sopra --> <endpoint address="" binding="basicHttpBinding" contract="ServerFantaWeek.IService1"> <!-- Durante la distribuzione è necessario rimuovere o sostituire il seguente elemento Identity per riflettere l'identità con cui viene eseguito il servizio distribuito. Se rimosso, WCF dedurrà automaticamente un'identità appropriata. --> <identity> <dns value=""/> </identity> </endpoint> <!-- Metadata Endpoints --> <!-- L'endpoint di scambio metadati viene utilizzato dal servizio per offrire una migliore visualizzazione ai client. --> <!-- L'endpoint non utilizza un'associazione protetta e deve essere protetto o rimosso prima della distribuzione --> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> </service> </services> <behaviors> <serviceBehaviors> <behavior> <!-- Assegnazione dell'indirizzo IP pubblico al WDSL --> <useRequestHeadersForMetadataAddress> <defaultPorts> <add scheme="http" port="80" /> <add scheme="https" port="444" /> </defaultPorts> </useRequestHeadersForMetadataAddress> <!-- ***************************************************** --> <!-- Per evitare la diffusione di informazioni sui metadati, impostare i valori seguenti su false prima della distribuzione --> <serviceMetadata httpGetEnabled="False" httpsGetEnabled="False"/> <!-- Per ricevere i dettagli sull'eccezione per scopi di debug in caso di guasti, impostare il valore riportato sotto su true. Impostarlo su false prima della diffusione per evitare di diffondere informazioni sull'eccezione --> <serviceDebug includeExceptionDetailInFaults="True" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration>

Rispondi quotando