Hello!
Arról érdeklődnék, hogy bármilyen formában megvalósítható, illetve működőképes lehetne egy olyan elképzelés, miszerint ha a Windowsban és egy adott Drupal weboldalon ugyanazt a felhasználónevet és jelszavat használom, akkor az operációs rendszerbe belépve már ne kelljen a portálra külön bejelentkeznem (egyfajta Single Sign-on megoldás). Milyen rendszer(ek), illetve környezet kellene ennek megvalósításához, ha ez egyáltalán valahogy megvalósítható?
Válaszokat előre is köszönöm!
Üdvözlettel: Simon Ferenc
Drupal verzió:
Fórum:
honnan
Szerinted a webszerver honnan tudja, hogy te beleptel egy windowson?
---
http://drupalaton.hu
NTLM
A válasz az NTLM authentikáció. Céges intraneteken elterjedt megoldás.
A lényeg, hogy a felhasználónevedet a böngésző tudja küldeni a HTTP a fejlécben, és ezt aztán elérhetővé lehet tenni a PHP-ban környezeti változóként. Ehhez persze a böngészőt és a webszervert is megfelelően be kell állítani, és a Drupalt is fel kell rá készíteni: http://drupal.org/project/webserver_auth
Ha IIS a webszerver, akkor simán fog menni, de Apache alatt kell hozzá plusz modul (nem Drupal modul, hanem Apache modul értelemszerűen). A böngészőt is be kell állítani hozzá, IE és FF alatt biztos működik, próbáltam.
Egyébként nemrég pont erre készítettem egy Drupal modult, amivel Apache alatt is tud működni az NTLM azonosítás mindenféle plusz beállítás nélkül, amennyiben a PHP Apache modulként fut. Tervezem, hogy majd megosztom a drupal.org-on. Ha esetleg szükséged lenne rá addig is, keress meg magánban.
--
Csonka Gergely
http://cheppers.com
Ugyerted, hogy a bongeszo
Ugyerted, hogy a bongeszo elkuldi a bejelentkezeskori felhasznalo nevem es jelszavam minden honlapnak?
Vagy meg kell mondani milyen oldalnak milyen felhasznaloinevet es jelszot kuldjon?
---
http://drupalaton.hu
csak a nevet
A jelszót nem küldi el, csak az NT login nevedet, és azt is csak azoknak a honlapoknak, amiket beállítottál a böngésződben.
--
Csonka Gergely
http://cheppers.com
Pontosan
Abból indul ki az egész, hogy az adott win-es gép windows-os tartományba van léptetve, a felhasználó az adott tartományba van regisztrálva. Nem a szokásos win login ablak jelenik meg ilyenkor:
Ellenőrzéskor az adott tartomány AD (Microsoft Active Directory) szerverén ellenőrzi a felhasználót. Ha minden OK, akkor belépteti a lokális gépre. Ha böngészőben megnyitod pl. az intranetes oldalt, akkor a böngésző elküldi a "logged userid"-t az NTLM modult futtató intranetes webszervernek. A szerver ekkor simán hozzáférést enged a védett tartalomhoz, hiszen a windows MÁR ELVÉGEZTE A FELHASZNÁLÓ HITELESÍTÉSÉT, nincs szükség újbóli azonosításra.
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
about:config?
Mit kell írni a FF about:config-jába hozzá?
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
about:config?
Mit kell írni a FF about:config-jába hozzá?
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
ezt
Keresd meg a "network.automatic-ntlm-auth.trusted-uris" sort, és írd be a kívánt címeket így:
http://egyik.hu,http://masik.hu
--
Csonka Gergely
http://cheppers.com
Remek!
Tökéletesen működik (bár nem Drupal rendszerhez tudtam kapásból használni) de máshoz nagyon jól jött).
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
érdekelne
Hello!
Írtam levelet a Drupalon keresztül, nem tudom megkaptad-e, de a lényeg, hogy érdekelne a modul (apache webszerver miatt). Egyébként köszi a segítséget mindenkitől, aki hozzászólt.
A neten van jópár megoldás
A neten van jópár megoldás Kerberos és NTLM alapú beléptetésre Apache-hoz, az IIS pedig ezt alapból tudja. A PHP scripted megkapja a $_SERVER['LOGON_USER'], $_SERVER['REMOTE_USER'] vagy hasonló változóban a felhasználó nevét és betöltöd a hook_init() -ben a felhasználó adatait a $GLOBALS['user'] -be, a gyorsaság kedvéért érdemes lehet egy $_SESSION['user'] -be is betölteni, hogy ne kelljen minden oldalletöltésnél egy user_load(). Ha pedig nincs ilyen user, akkor létrehozol egyet a windowsos felhasználói névvel, mented a user_save() -vel, és utána ezt töltöd be. Ahogy előttem is írták szükség lesz a gép beléptetésére a tartományba vagy egy megfelelő jogosultsággal rendelkező Kerberos-felhasználóra.