Hur kan jag i en okomplerad webservice (endast en asmx-fil), inget studio-projekt, blir ingen dll-fil, göra en autentiering mot AD? Hej, för att köra en kod via webbservern behövs inte alltid någon dll, men det är enklast att använda just Visual Studio. Nu vet jag inte varför du inte har någon utvecklingsmiljö (finns gratis på www.asp.net). Dock, att göra anrop på funktioner i ett namespace behöver ibland lägga till en referens. Ett annat problem kan vara att just denna kod inte stämmer överens med den version av .net framework som körs på din server. Jag behöver via vb.net och en ren asmx-ren¨vb-service skapa en funktion som validerar en användares lösenord (och konto) mot mitt AD. Uhhh, den meningen håller jag öronen för. Hoppas du inte är konsult, och att ni inte kör något skarpt projekt ;) Imports System.DirectoryServices Ok, I så fall kanske du måste kopiera den dll:en till /bin katalogen, dvs system.directoryservices.dll ? Testat det också, fast inte i bin. Bin finns ju inte eftersom det är en ren asmx. Lagt den i samma katalog som asmx-filen. Tror inte det fungerar. .Net kräver att den skall ligga i /bin katalogen som är standard för applikationer. Vad händer om du flyttar dit den? Nu är jag inte riktigt med dig.Okompilerad ASMX, problem med AD-login
Jag har följande kod
Private Function ValidateActiveDirectoryLogin(ByVal Domain As String, ByVal Username As String, ByVal Password As String) As Boolean
Dim Success As Boolean = False
Dim Entry As New System.DirectoryServices.DirectoryEntry("LDAP://" & Domain, Username, Password)
Dim Searcher As New System.DirectoryServices.DirectorySearcher(Entry)
Searcher.SearchScope = DirectoryServices.SearchScope.OneLevel
Try
Dim Results As System.DirectoryServices.SearchResult = Searcher.FindOne
Success = Not (Results Is Nothing)
Catch ex As Exception
Success = False
End Try
Return Success
End Function
Men, funkar inte, känner inte igen System.DirectoryServices.
Finns många exempel på nätet på hur detta ska hanteras OM man har ett studio-projekt, och skapar referens till ngn form av AD-funktioner, men jag har nara en asmx-fil, hur gör jag då?
/ Mikael
Sv: Okompilerad ASMX, problem med AD-login
För att kunna hjälpa dig vidare skulle det vara intressant att veta vad det är du vill uppnå genom att kalla på koden, vad är det som kallar denna funktion - med tanke på att du säger att det inte finns något projekt.? :)
//PelleSv:Okompilerad ASMX, problem med AD-login
Dvs anropa AD, skicka med user och pwd, och få tillbaka om denna user finns i AD, samt att pwd är ok.
En av anledningarna (egentligen en dålig anledning) till vi kör okompilerad asmx, är att det underlättar hanteringen då vi är flera som utvecklar, och man därmed kan redigera och felsöka direkt i filen.
Man är ju garanterad att det inte ligger en version i sourcesafe, och en annan som är driftsatt.
/ MSv: Okompilerad ASMX, problem med AD-login
Testa att överst i projektfilen lägga till
Using System.DirectoryServicesSv:Okompilerad ASMX, problem med AD-login
Funkar inte, hade redan testat den varianten, med samma nedslående resultat.
Inte heller ngn felorsak visas.
Förutom
"namespace or type specified in the imports 'system.directoryservice' doesnt contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member"
/ MSv: Okompilerad ASMX, problem med AD-login
Sv:Okompilerad ASMX, problem med AD-login
Sv: Okompilerad ASMX, problem med AD-login
Sv:Okompilerad ASMX, problem med AD-login
Menar du att katalogen måste heta just bin, eller är det viss path du menar?
Allt annat i webservicen fungerar.
Min asmx ligger på helt annan path i min lokala maskin, dvs inte alls under iis.
Bygger den med visual studio, alla andra imports fungerar.
/ M