Har ett problem jag brottas med. Hej, när jag höll på med sådana frågor så har jag för mig att du har rätt som användare att ställa sökfrågor utan att behöva vara inloggad. Däremot om det nu är så att du gör förändringar eller skall skapa data så måste du ställa anropet efter att du har validerat dig med ett konto som finns i ad:t som samtidigt har de rättigheter som krävs. Till sist löste jag det (men tyvärr inte på en "vanlig IIS-server" utan en med Exchangeserver på, skall dubbelkolla om samma recept fungerar på en ren IIS-server).IIS 7, ASP, LDAP - vad krävs av "servern" för att få ställa LDAP-fråga..
Vore förstås jättetacksam om någon har lust att hjälpa mig.. :) :) :)
Jag har en ASP-sida på en ny installerad IIS7 som försöker ställa en LDAP-fråga
till en DC men jag får det inte att fungera. Denna används på en hemsida för att ställa frågor om användare.
I dagsläget ligger ASP-sida på en DC och DÄR FUNGERAR DEN men inte på den nya IIS-servern som INTE är DC.
(( Frågan ställs dock inte (på den gamla, fungerande sidan) mot lokal DC/AD utan mot en annan DC ("maindc").
Med andra ord klarar den servern av att svara på nedanstående fråga. Problemet ligger på den nya servern som inte lyckas sända LDAP-queryn (eller ta emot svaret). ))
Vi vill ju plocka bort gamla DC:n därav mitt arbete.
Jag gissar att antingen har det med kontot som kör workertjänsten på IIS:en som jag tillfälligt
ändrat från vanliga applicationpoolen till ett tillfälligt vanligt konto men har även
provat innan jag gjorde denna förändring förstås. Måste jag tala om för AD:t att detta userkonto får ställa en LDAP-fråga (=får vanliga useraccounts det?)
..eller så har det med att inte ”stöd för LDAP” eller att skapa objektet ”ADsDSOObject”
Så här ser koden ut (som alltså fungerar när jag kör den på en DC m IIS 6):
szQuery = "<LDAP://maindc.foretag.local>;" + _
"(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(anr=" & session("sokstr") & "));" + _
"name,distinguishedName,sn,mail,telephonenumber,mobile,facsimileTelephoneNumber,company,department,postOfficeBox,postalCode,streetAddress,title,l,userAccountControl;subtree"
Set g_oCon = CreateObject("ADODB.Connection")
Set g_oRS = CreateObject("ADODB.Recordset")
g_oCon.Provider = "ADsDSOObject"
g_oCon.Properties("Encrypt Password") = True
g_oCon.Properties("ADSI Flag") = adSecureAuthentication
g_oCon.Open "Active Directory Provider"
g_oRS.CursorLocation = adUseClient
'g_oRS.Sort = "distinguishedname"
g_oRS.Sort = "name"
g_oRS.Open szQuery, g_oCon, , , adCmdText
Aktuell ny server är en Win 2008 R2 med IIS 7 aktiverad.Sv: IIS 7, ASP, LDAP - vad krävs av "servern" för att få ställa LDAP-fråga..
Sv:IIS 7, ASP, LDAP - vad krävs av "servern" för att få ställa LDAP-fråga..
Tack för Ditt tips.. :)
Jag får "Permission denied" när jag flyttat frågan/siten till "en ny Exchangeservers IIS". Känns som att jag måste ge det kontot som kör "webbstjänsten" rätt att ställa AD-frågan, men jag vet inte var? På IIS-servern eller i AD:t med typ ADSIedit, eller någe...
---
Provider
error '80040e09'
Permission denied. Sv: IIS 7, ASP, LDAP - vad krävs av "servern" för att få ställa LDAP-fråga..
Lösningen var förstås enkel (som sig oftast är) det var bara att få till det:
Principen var:
1) Skapa en vanlig användare i domänen
2) Skapa en ny applikationspool som körs under denna användare
3) Se till att Anonym autenciering gällde för siten och att den köra med aktuell användare
4) Se till att nya användaren har NTFS-rättigheter ute i filsystemet
5) Osäker på om denna behövs: Lade till nya användaren i lokala gruppen "IIS_WPG"
6) Starta om siten
Detta fungerade i vart fall för mig. Tack Ni som grubblat över mitt problem. :o))