Avatar billede dane022 Seniormester
29. august 2023 - 19:28 Der er 5 kommentarer og
1 løsning

LDAP loginløsning

Jeg har oprettet en løsning til lønforhandlinger, som sender og modtager data fra bagvedliggende sql løsning. Løsningen tilgås via webserver.
Problemet er, at alle brugere bliver identificeret som webserver brugeren og ikke som sig selv, så jeg ville ikke kunne logge og sætte sikkerhed op i databasen.

Så jeg vil være nødt til at lave en loginløsning, hvor brugeren logger på med sit AD brugernavn og kodeord for at få adgang. Jeg har derfor kigget på LDAP, men synes det virker komplekst at søge på tværs, da organisationen er i mange lag og jeg gerne vil søge oppefra efter brugernavnet. Et DN kunne f.eks. se sådan her ud: CN=Navn,OU=Lønteamet,OU=Økonomi og Løn,OU=Center for Økonomi og Personale,OU=Direktionen,OU=HVK Org,OU=HVK IDM Root,DC=HVIDOVRE,DC=DK

Jeg kan godt få det til at virke med det meget målrettede DN, men det vil være forskelligt fra bruger til bruger og derfor ønsker jeg en søgning "oppefra". Så hvis det kan lade sig gøre, at brugernavnet (UID) overføres fra loginsiden til næste side:
$username = $_POST['username'];
$password= $_POST['password'];
og der søges på tværs i AD om brugernavn findes og om password er korrekt.

På forhånd tak
Avatar billede arne_v Ekspert
29. august 2023 - 19:52 #1
Avatar billede dane022 Seniormester
29. august 2023 - 20:07 #2
Har tidligere været inde på siden, men med min viden var eksemplerne ikke lige plug n play. Er der et konkret eksempel du tænker på?
Avatar billede arne_v Ekspert
29. august 2023 - 20:09 #3
Egentligt ikke. Jeg har aldrig brugt LDAP fra PHP.
Avatar billede arne_v Ekspert
29. august 2023 - 20:12 #4
Men hvad er dit minimums behov.

Er det godt nok at du kan checke om brugerne er logget ind og få deres brugernavn fra PHP koden?

Hvis det er nok så bør du kunne konfigurere (eller få IT afdelingen til at konfigurere) IIS til at detecte eller prompte brugeren for login og brugernavn ender op i $_SERVER['AUTH_USER'].

https://logicalmoon.com/2020/06/using-windows-authentication-with-php/ har detaljer.
Avatar billede dane022 Seniormester
29. august 2023 - 21:12 #5
Det er et rigtig godt forslag. Jeg troede ikke det kunne lade sig gøre, men det er klart at foretrække fremfor at skulle udvikle det selv. Jeg har nu installeret det på serveren og enabled det, samt disabled anonymous login. Jeg bliver nu korrekt promptet for AD brugernavn og adgangskode. Mit brugernavn kan nu vises med domænenavnet forrest.

Ved du om det kan gøres uden kode men stadig så brugeren genkendes?
Avatar billede arne_v Ekspert
30. august 2023 - 02:15 #6
Jeg forstaar ike spoergsmaalet.

Du har konfigreret IIS til at kraeve et Windows login. Det gør IIS. Der er to måder at få det på: hvis browser er en Windows browser med support for det så finder browsern og IIS selv ud af det uden bruger involvering, eller blive rbruger spurgt om brugernavn og password.

IIS gemmer brugernavn i $_SERVER['AUTH_USER']. Og PHP koden kan bruge det tila t gemme brugernavn i databasen.,

Jeg mener ogs[ at du kan konfigurere IIS til at lave database forbindelse p[ vegne af den bruger der er logget ind på siden. Og så kan databasen selv logge brugernavn uden PHP kode, Men jeg vil fraråde den løsning. Alt for mange brugernavne vil få datagbase adgang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester