Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementPb AuthentificationPb Authentification
Précédente
 
Suivante
Nouveau message
09/08/2007 16:49
 

J'ai developpé une petite appli vb.net qui se connecte a un controleur Active directory afin de permettre aux utilisateur de consulter la liste des personnes de l'entreprise et également de mettre a jour les infos les concernant.

Pour cette appli, je me connecte donc a l'AD en utilisant tout le temps un User et un Password (en dur) d'un compte admin. Ouis je sais, ce n'est pas trés top...

Bref en mode autonome (comprenez sur un IIS sans DNN) je n'ai pas de soucis.

J'ai transformé mon appli afin d'en faire un module DNN. Une fois le module installé et positionné sur une des pages DNN, au lieu d'avoir le contenu de mon module j'ai juste le message (meme connecté en tant que Host)

Erreur critique.
Échec d'ouverture de session : nom d'utilisateur inconnu ou mot de passe incorrect

 

Si je consulte le Log du site je peux voir ceci

AssemblyVersion: 04.05.01
PortalID: 0
PortalName: BERIM Intranet
UserID: 1
UserName: host
ActiveTabID: 167
ActiveTabName: TestAFI
RawURL: /Informatique/RéservéSI/TestAFI/tabid/167/Default.aspx
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer:
UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2)
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: df580712-09c9-4f56-8eb0-89b51bdaf4ff
InnerException: Échec d'ouverture de session : nom d'utilisateur inconnu ou mot de passe incorrect.
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.DirectoryServices.DirectoryEntry.Bind
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Échec d'ouverture de session : nom d'utilisateur inconnu ou mot de passe incorrect. ---> System.DirectoryServices.DirectoryServicesCOMException (0x8007052E): Échec d'ouverture de session : nom d'utilisateur inconnu ou mot de passe incorrect. at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_AdsObject() at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) at System.DirectoryServices.DirectorySearcher.FindAll() at AFI.TestAD.view.ListeUtilisateurs(Object Dest, String champ) at AFI.TestAD.view.Page_Load(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---
Source:
Nom du serveur: INTRANET

Comme je débute, et oui, cela ne m'aide pas beaucoup. Mais je me dis que c'est l'identification a l'AD qui foire. Et comme je sais que mon username et password est bon, je me dit que peut être c'est du au fait que DNN crypte les passwords... Enfin c'est la seule idée que j'ai, et pui meme si c'est ca je ne sais pas comment résoudre mon probleme.

 

L'instruction que j'utilise est

    Dim Srv As String = "LDAP://monserveur.masociete.net/"
    Dim Path As String = "OU=utilisateurs,DC=societe,DC=net"
    Dim loginu As String = "AdminAD"
    Dim loginp As String = "Le mot de passe"

   Dim Ldap As DirectoryEntry = New DirectoryEntry(Connect, loginu, loginp)

Voila, si quelqu'un a une idée, et si Ploum ou Seb passent par là...

D'avance merci

 
Nouveau message
14/08/2007 15:20
 

Salut Anthony,

A ma connaissance, DNN ne crypte pas les mots de passe dans ce cas. Car c'est une bête String qui est passée en paramètre ! Je ne vois pas d'où vient le problème, mais j'ai une question idiote. As-tu lancé ton module en mode debug ? Juste histoire de voir si ta chaine de connexion est bien celle qui devrait être passé à l'AD.

Gilles

 
Nouveau message
14/08/2007 15:35
 

salut Gilles

Merci pour ce conseil. Actuellement je suis en congés donc je ne peux l'appliquer pour le moment.

En plus j'avaiis cherché a activer le mode débug sous VS2005, mais je ne suis parvenu a rien. A mon retour je referais des tests. Mais je trouve cela bien étrange. Si ca marche en appli autonome, cela devrait marché sous DNN...

Je tiendrais au courant.

Anthony

 
Nouveau message
15/08/2007 13:09
 

Salut Anthony,

Je suis d'accord que cela devrait fonctionner, mais je pense qu'il s'agit d'un truc très con genre erreur dans le nom d'une des variables, ou encore une variable vidée par un autre bout de code, etc.

Quel modèle as-tu utilisé pour ton module (WAP ou autre) ? Tu peux m'envoyer ta solution si tu veux que je regarde.

Bonnes vacances !

Gilles

 
Nouveau message
06/09/2007 19:44
 

(re) salut Gilles,

Bon je reviens sur ce thread.

Sans que je comprenne vraiment pourquoi, en mode autonome mon programme fonctionnait car la connexion était du type user alors que dans la version DNN je suis obligé d'indiquer Domaine\user pour que cela fonctionne.

Pourtant c'est le meme serveur, la meme machine de dev, le meme user...

Enfin l'essentiel est la ! Ca fonctionne.

 
Nouveau message
06/09/2007 20:18
 

Re, re,

C'était donc bien un truc tout con, comme souvent ! Je ne suis pas un pro d'AD, mais il me semble que tu peux définir le domaine par défaut dans AD. Tu n'aurais donc plus à spécifier domaine\user, mais juste user.

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementPb AuthentificationPb Authentification