148 messaggi dal 12 aprile 2001
Qualcuno sa spiegarmi perchè utilizzando la procedura sotto riportata (trovata su web) funziona tutto correttamente in debug, ma una volta pubblicato il sito mi ritorna il seguente errore: Il dominio specificato non esiste o è impossibile contattarlo.
é mai capitato a qualcuno

Grazie a chiunque voglia darmi una dritta.
Linus

string domainAndUsername = domain + @"\" + username;
DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pwd);
try
   {
     //Bind to the native AdsObject to force authentication.
     object obj = entry.NativeObject;

     DirectorySearcher search = new DirectorySearcher(entry);
     DirectorySearcher search = new DirectorySearcher();

     search.Filter = "(SAMAccountName=" + username + ")";
     search.PropertiesToLoad.Add("cn");
     SearchResult result = search.FindOne();

     if (null == result)
     {
        return false;
     }

     //Update the new path to the user in the directory.
     _path = result.Path;
     _filterAttribute = (string)result.Properties["cn"][0];
   }
   catch (Exception ex)
   {
     messageReturn = "Errore in autenticazione. " + ex.Message;
     return false;
   }

   messageReturn = "OK";
   return true;
linus wrote:
funziona tutto correttamente in debug, ma una volta
pubblicato il sito mi ritorna il seguente errore: Il dominio specificato non esiste o è impossibile contattarlo.

non funziona perchè evidentemente il server non riesce a contattare, come dice l'errore, il dominio. verifica che sia possibile e che sia tutto corretto.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
148 messaggi dal 12 aprile 2001
Il fatto è che la prova in debug e con il sito pubblicato con le dll compilate l'ho fatta dallo stesso PC, il mio di sviluppo, ma in un caso funziona, mentre nell'altro no.
Mi è venuto il dubbio che quando sono in debug l'esecuzione avvenga con un utente diverso da quello usato quando il sito è pubblicato, ma non ho una conferma certa di questo e non saprei come agire se questo fosse vero?

Qualche idea?
148 messaggi dal 12 aprile 2001
Ho fatto questa prova: ho ricreato il progetto selezionando nella creazione del progetto
-> HTTP http://localhost/WebSite
al posto di
-> File system C:\Documents and Settings\utente\Documenti\Visual Studio 2005\WebSites

creando il progetto come nel primo caso NON FUNZIONA, mentre creandolo come nel secondo caso funziona in debug ma non sul sito pubblicato.

Forse stanno affiorando le mie scarse conoscenze di VS2005.

A qualcuno viene qualche idea?
Linus
linus wrote:
creando il progetto come nel primo caso NON FUNZIONA, mentre creandolo come nel secondo caso funziona in debug ma non sul sito pubblicato.

perchè quando lo pubblichi probabilmente lo metti in IIS, che non gira con le credenziali tue, come quando lo avivi in debug, e quindi l'utente che fa partire il processo probabilmente non ha i diritti per andare a ravanare nel dominio.
è possibile passare un utente al DirectorySearcher, così da evitare questi problemi. vedi la prima parte di questo script:
http://www.aspitalia.com/script/705/Enumerare-Utenti-Active-Directory.aspx

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
148 messaggi dal 12 aprile 2001
A forza di tentativi questa notte ho risolto: c'erano 2 problemi.
1 - la stringa di connessione al server LDAP era incompleta (mancava l'indirizzo del server) e in debug funzionava, mentre nel sito pubblicato no
2 - uso due procedure una per verificare che l'utente sia corretto, e una seconda per verificare i gruppi: la seconda faceva la ricerca sul path reimpostato dalla prima (come pubblicato in precedenza) e in debug funzionava, mentre nel pubblicato no.

Comunque grazie lo stesso
Spero la cosa possa essere di aiuto a qualcun'altro.

Linus

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.